参照CentOS7安装Mysql5.7安装手册安装两个或者多个Mysql。
编辑master(主服务)配置文件/etc/my.cnf文件
添加如下配置:
## 同一局域网内注意要唯一
server-id=100
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
如图所示:
登录到mysql客户端创建用户:此用户是数据同步时使用
命令:CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
命令:GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
命令:
flush privileges;
配置完成之后,需要重启mysql服务使配置生效
编辑slave(从服务)配置文件/etc/my.cnf文件
添加如下配置:
## 设置server_id,注意要唯一
server-id=101
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
如图所示:
配置完成之后,需要重启mysql服务使配置生效
在Master进入mysql,
执行命令:
命令:show master status;
在Slave进入mysql
执行命令:
命令:change master to master_host='172.17.0.4', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 156, master_connect_retry=30;
说明:master_host 主服务器地址
master_user 刚刚创建的用户
master_password刚刚创建的密码
master_port 端口号
master_log_file 就是show master status; 中的 File
master_log_pos 就是show master status; 中的 Postion
master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒
在Slave 中的mysql终端执行show slave status \G用于查看主从同步状态
正常情况下,SlaveIORunning 和 SlaveSQLRunning 都是No,因为我们还没有开启主从复制过程
现在开始开启主从复制:
命令:start slave;#开启 stop slave; 关闭
SlaveIORunning 和 SlaveSQLRunning 都是Yes,说明主从复制已经开启。此时可以测试数据同步是否成功
在主库中创建表或者数据都会同步到从库中
主库:
从库:
完成!