目前生产环境是一主两从,由于主服务器操作系统版本太低,无法将MySQL升级到最新版本。于是将其中一个从机升级完成后,要进行主从切换。
环境如下:操作系统CentOS6.9,MySQL版本:5.6
由于切换过程会造成MySQL服务的中断,因此安排在晚上进行。
步骤如下:
1、将要提升为主的从机升级到最新的MySQL5.6版本。
2、停止当前主库上的所有写操作。可以通过iptables来阻止新的连接,只保留从机的访问。查看processlist表验证以上操作正确完成。
3、查看从库,确保两台从库已经完全跟上主库。
4、在两台从库中执行stop slave命令。
5、在要提升为主库的从机上执行change master to master_host='',然后执行reset slave,使其断开与老主库的复制关系。可以检查master.info文件,看是否已丢弃复制信息。
6、在新的主库中执行show master status,并记录新主库的二进制日志坐标。
7、将老主库关机。
8、停止新主库的MySQL服务,更改新主库的my.cnf文件。用生产环境的my.cnf文件替代复制环境的my.cnf文件。
9、更改新主库IP,启动新主库,检查应用是否正常。
10、在另一台从库上执行change master to语句,使用之前获得的新主库二进制坐标指向新的主库,启动从库。
补充:为确保主从切换后数据一致,建议在步骤3后,使用工具检查主从数据一致性(如:pt-table-checksum)