1.什么是MHA,mysql的高可用架构方案
mysql的架构方案
在互联网公司mysql的架构方案一般采用的是主从复制,一主多从的方案。
在默认情况下mysql架构方案是不具备高可用性的,当主节点挂掉以后从节点是没有“感知”不会采取“行动”的。
MHA就是最成熟的mysql高可用方案
2.MHA:故障发现与转移
判断master已经挂掉:
- MHA manager ping 三次master,当ping不通的时候可以判断有两种情况。a.MHA manager 到master的通信断掉。b.master挂掉
- 让所有的从节点连接master(使用SSH登录检查),如果连接不上master,则可以认定master挂掉
MHA manager 抽取master的binlog,并终止所有slave与master的同步,断开master 与VIP的绑定
找到最新的slave,并向其他slave进行差异同步
将旧的master binlog差异部分分发给各个slave并应用
选出新的master