MHA是由日本DeNA公司youshimaton(现就职于Facebook公司)开发的一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。
优点:
由perl语言开发的开源工具
可以支持基于GTID的复制模式
MHA提供了主从切换和故障转移功能,在进行故障转移时不易产生数据丢失
当主DB不可用时,从多个从服务器中选举出新的主DB服务器
同一个监控节点可以监控多个集群
缺点:
需要编写脚本或者利用第三方工具(例如keepalived)来实现VIP的配置
MHA启动只会对主数据库进行监控
需要基于SSH免认证配置,存在安全隐患
没有提供从服务器的读负载均衡功能
只能监控主服务器是否可用,不能监控从服务器
MHA主从切换过程简述:
应用从原主DBA服务器上保存二进制日志
提升备选主DB服务器为新的主DB服务器
迁移集群中的其他从DB作为新的主DB的从服务器