生产环境中难免遇到一主多从架构中主库挂掉的问题。为了快速恢复业务,为客户提供连续性的服务。

此时则必须进行MySQL主从切换。

一、根据业务要求若主库挂了多长时间后要把正常的从库切换为主库。

计算mttr(Mean Time to Restoration,平均恢复前时间)  

需要检查数据一致问题,脏数据问题。

数据多少不一致 算正常。多久可以保证一致。

金融数据重点关注rpo(Recovery Point Objective,数据恢复点目标) rto

(RecoveryTime Objective,数据恢复时间)


二、主备切换过程。

1.主备切换

主-多从

主down掉,对于其中从A

确定relay log均成功,


STOP SLAVE io_THREAD;  不再从主那边接收数据了

show slave status;     查看从状态

stop slave;            停掉从

reset master;          将从变成主


***删除新的主数据库服务器上的master.info和relay-log.info文件,否则下次重启时还会 按照从库启动。


2.对于从B

stop slave;      停掉原来对主的链接

change master to master_host='A';    切到新的主上面

start slave;     开始主从


多从的话,参考B操作


建议:慎重,一般不要切换,切换主,所有的配置都需要修改