Centos7+Mysql5.7实现主从复制

Centos7+Mysql5.7实现主从复制

在生产用途中为了实现更大的吞吐和高可用可能会对数据库做主从复制或者集群,我们先从主从复制说起。

一、安装配置mysql7:

-安装mysql7: http://blog.csdn.net/jiaoshenmo/article/details/50964280
安装好mysql之后启动:

service mysqld start

查看mysql初始密码:

cat /var/log/mysqld.log | grep ‘password’

这里写图片描述


连接mysql:

mysql -u root -p

输入刚刚log里面显示的密码
修改密码:

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’ PASSWORD EXPIRE;

如果没有修改可以用:

SET PASSWORD = PASSWORD(‘新密码’);

执行下图中的命令,使mysql支持远程连接:

这里写图片描述


开通防火墙3306端口(centos7默认防火墙为firewall不是iptables)

[root@localhost ~]# firewall-cmd �add-port=3306/tcp
[root@localhost ~]# firewall-cmd �permanent �add-port=3306/tcp
[root@localhost ~]# firewall-cmd �reload success
现在你的mysq已经可以正常使用啦!

二、配置主从:

我这有三台安装好mysql的服务器,一台做master,另外两台为slave:

master:10.99.123.14
slave:10.99.123.15
slave:10.99.123.16

master配置:
找到mysql配置文件my.cnf在末尾加上:

log-bin=mysql-bin #slave会基于此log-bin来做replication
server-id=1 #master的标示
innodb_flush_log_at_trx_commit=1
sync_binlog=1

slave配置:
找到mysql配置文件my.cnf在末尾加上:

server-id=2 #slave的标示 ,10.99.123.15配置
server-id=3 #slave的标示 ,10.99.123.16配置

在master中增加用于数据同步的账户:

grant replication slave on . to 用户名@% identified by ‘密码’

在master中查看Master status

show master status;

这里写图片描述


配置slave:

stop slave;
change master to
master_user=’repl_user’,master_password=’Lxznds@01’,master_host=’10.99.123.14’,master_port=3306,master_log_file=’localhost-bin.000001’,master_log_pos=36884979;
start slave;

测试已经可以使用,单条数据的变化秒同步,批量导入70W数据,两台slave同步一共占用不到6分钟。

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...