最近在部署 MySQL 主从复制架构的时候,遇到了 "Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work." 这个错误提示。即主从架构中使用了相同的 UUID。检查 server_id 系统变量,已经是不同的设置,那原因是?接下来为具体描述。
1、查看主从的 server_id 变量
SHOW VARIABLES LIKE 'server_id';
主的MySQL
从的MySQL
从上面的截图可知,主从 mysql 已经使用了不同的 server_id
2、检查主从的uuid
方式:查看 auto.cnf 文件
路径:/data/mysqldata/mysql/auto.cnf
查询结果:两者一致,原因是克隆了虚拟机,导致出现了重复。
3、修改从的uuid
- 重命名旧文件
mv /data/mysqldata/mysql//auto.cnf /data/mysqldata/mysql//auto.cnf.bk
- 重启 mysql,会自动生成新的 auto.cnf 文件
service mysql restart
- 检查新的auto.cnf 文件
[auto]
server-uuid=ccba018f-ec9b-11eb-b960-005056a7df84
4、检查slave的状态
SHOW SLAVE STATUS;
Slave_IO_Running 从 no 变回 yes
网友评论