转载请注明出处:http://blog.csdn.net/l1028386804/article/details/75268357

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值,然后重启从库实例,该种方案没有测试过。大家可以自行测试下。