假设这里有三个数据库分别为 d1、d2、d3,其中d1是Master数据而d2与d3为Slave数据。有时由于一些异常的原因我们希望改变一下三个数据库间的主从关系如:d2作为Master数据,d1与d3作物Slave数据库。为了能够处理这些异常的需求,我们在配置Slave数据库是需要添加一些选项,在数据库的的配置文件中添加:
[mysqld]
log-bin=mysql-bin //启动数据库更新二进制日志记录,日志文件名前缀为mysql-bin
log-slave-updates //当Slave从Master数据库读取日志时将跟新写入日志中
log-bin 用于启动数据库的跟新日记,当针对启动这个选项的数据库本身进行数据跟新时更新操作将被记录。log-slave-updates 告诉Slave在二进制记录中记录从主数据库同步到的更新数据。如果只启动log-bin 而没有启动log-slave-updates则Slave只记录针对自己数据库操作的更新。
为d2添加一个用户用于数据同步:

将d2设为Master数据库:




记录执行show master status; 所获得的数据。分别在d1、d3上执行:






在d1或d3上执行:
show slave status /G; //查看Slave数据库状态
一般来说其中的IO日志读取线程和SQL数据处理线程Slvae_IO_Running及Slave_SQL_Running标记为Yes,则表示Master/Slave数据同步成功。