1.登陆从库,看两个线程更新状态(State:),看看同步到哪了

mysql>show processlist\G
State: Master has sent all binlog to slave; waiting for binlog to be updated

================================================================================
2.登陆从库,分别查看

cat /ddata/3306/data/master.info
cat /ddata/3307/data/master.info
cat /ddata/3308/data/master.info

看看从库哪个更高,经过测试没有延迟的情况POS差距很小,甚至是一致的。
选个POS最大的做为主库

================================================================================
3.确保所有relay log全部更新完毕。

在每个从库上执行stop slave io_thread;show processlist;
直到看到:Has read all relay log;表示从库更新执行完毕。

================================================================================
4.登陆从库

stop slave;
retset master;
quit;

================================================================================
5.进到数据库目录,删除master.info relay-log.info
rm -f master.info relay-log.info

================================================================================
6.提升从库为主库

vi my.cnf

//开启log-bin=mysql-bin
//如果存在log-slave-updates read-only等一定注释掉
//注意检查授权表等
到此为止,提升主库完毕

================================================================================
7.其他从库操作
stop slave;
change master to master_host ='192.168.1.1x';
start slave;
show slave status\G


#有计划的切换。

1.主库锁表
2.登陆所有的库查看同步状态是否完成。
3.之后与前边一样