实验环境:
一台rhel7虚拟机,主机名为rhel7.1 ip地址为192.168.182.201 安装了Mysql5.7,密码、访问权限已经配置完毕,可以正常访问
三台主机hosts文件中分别加入了其他两台主机的ip和主机名
两台克隆机,修改了ip地址、/etc/hosts和/etc/hostname文件
主机名分别为 mysqlslave1 mysqlslave2
ip地址分别为 192.168.182.202 192.168.182.203
修改主库 /etc/my.cnf文件
添加几行
server_id=013306
#指定主库id,必须不同于从库
log-bin=master-bin
#指定二进制日志名称
binlog-format=ROW
#二进制日志的格式
binlog-do-db=rhel7.1
#主库数据库主机名
配置从服务器登录主服务器登录账号及授权
grant replication slave on *.* to 'root'@'192.168.182.201'identified by 'root';
flush privileges;
修改从库 /etc/my.cnf文件
192.168.182.202
log-bin=master-bin
#日志文件名称
binlog-format=ROW
#二进制日志的格式
server-id=023306
#各服务器id必须唯一
192.168.182.203
log-bin=master-bin
#日志文件名称
binlog-format=ROW
#二进制日志的格式
server-id=033306
#各服务器id必须唯一
查看主库状态
先重启服务
systemctl restart mysqld
进入mysql数据库
show master status;
配置从库
先重启服务
systemctl restart mysqld
进入mysql数据库,根据上步查看的file和position修改master_log_file和master_log_pos
change master to master_host='192.168.182.201',master_user='root',master_password='root',master_port=3306,master_log_file='master-a-bin.000002',master_log_pos=154;
开启从服务器
start slave;
查看从服务器状态
show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
表示主从配置成功
这里一开始是 Slave_IO_Running: NO
参考了
https://blog.csdn.net/sunbocong/article/details/81634296
是由于克隆的虚拟机主从库生成相同的server-uuid。只需删除一个server-uuid并重启数据库服务即可解决问题。