1.版本
1)操作系统
cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m
cat /proc/version
Linux version 2.6.32-504.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) ) #1 SMP Wed Oct 15 04:27:16 UTC 2014
2)MySQL数据库版本
mysql --version
mysql Ver 14.14 Distrib 5.6.26, for linux (x86_64) using EditLine wrapper
2.问题描述
今天在配置mysql主从数据库时,start slave;后发现报如下错误:
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.
3.问题分析
通过上面的报错信息我们其实就可以看出问题出在哪里。上面报错说的是replication架构中需要保证每个mysql实例UUID(UUID保存在datadir目录下的auto.cnf文件中)唯一,就跟server_id一样需要保证主从架构中所有mysql实例server_id唯一。
之所以出现会出现这样的问题,是因为我的从库主机是克隆的主库所在的主机,所以auto.cnf文件中保存的UUID会出现重复(server_id已经在my.cnf文件中修改过)
4.问题解决
关于该问题的解决方案其实很简单,停掉备库实例,删除备库data文件夹下的的auto.cnf文件,启动备库实例,此时备库就会产生一个新的auto.cnf文件(产生新的UUID)。网上也有人说直接修改auto.cnf里面的uuid值,然后重启从库实例,该种方案没有测试过。大家可以自行测试下。