mysql进阶(三)MHA高可用集群
简介:
1、MHA目前在MySQL高可用方面是一个相对成熟的解决方案,是MySQL高可用环境下故障切换和主从提升的高可用软件
2、MHA能在短时间内完成故障切换,并且在最大程度上保证数据的一致性,以达到真正意义上的高可用
3、MHA基于mysql协议,通过mysql主从或主主进行复制
4、MHA官网:https://code.google.com/p/mysql-master-ha/
软件由两部分组成:MHA Manager(关理节点)和MHA Node(数据节点)
1、MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上
2、MHA Node运行在每台MySQL服务器上
3、MHA_Manager会定时探测集群中的master节点,当master出现故障时,
它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master
4、MHA配合半同步复制使用可以最大限度的保证数据安全性
工作原理:
1、从宕机崩溃的master保存二进制日志事件(binlog events)
2、识别含有最新更新的slave
3、应用差异的中继日志(relay log)到其他的slave
4、应用从master保存的二进制日志事件(binlog events)
5、提升一个slave为新的master
6、使其他的slave连接新的master进行复制
MHA工具:
Manager工具包:
masterha_check_ssh #检查MHA的SSH配置状况,MHA强烈依赖ssh秘钥验证
masterha_check_repl #检查MySQL复制状况
masterha_manager #MHA主程序
masterha_check_status #检测当前MHA运行状态
masterha_master_monitor #检测master是否宕机
masterha_master_switch #手动控制故障转移
masterha_conf_host #