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