切换主从服务器

1.首先要确保所有的从数据库都已经执行了 relay log 中的全部更新,在每个从服务器上,执行 stop slave IO_THREAD ,然后检查 show  processlist 的输出,直到看到状态是 Has read all relay log,表示更新都执行完毕


切换主从服务器
2.在从数据库 S1 上,执行 STOP SLAVE 停止从服务器,然后 RESET MASTER 重置成主数据库
切换主从服务器
3.在 S2 上,执行 STOP SLAVE 停止从服务,然后执行 CHANGE MASTER TO MASTER_HOST = 'S1' 重新设置主数据库,然后再执行 START SLAVE 启动复制
切换主从服务器
切换主从服务器
4.通知所有客户端将应用指向 S1,这样客户端发送的所有更新语法写入到 S1 的二进制日志
5.删除新的主数据库服务器上的 master.info 和 relay-log.info 文件,否则下次重启的时候还会按照从服务器启动
6.最后,如果 M 服务器可以修复,则可以按照 S2 的方法配置成 S1 的从服务器


默认S1 打开 log-bin 选项,同时 S1 上没有打开 log-slave-updates 参数