MHA完成主从切换超高效
保证数据的一致性,达到真正意义的高可用
MHA提供了什么功能?
监控主数据库服务器是否可用
当主DB不可用时,从多个从服务器中选举新的
主数据库服务器提供了主从切换和故障转移功能
MHA可以与半同步复制结合
MHA主从切换过程
尝试从出现故障的主数据库保存二进制日志
从多个备选服务器中国年选取新的备选主服务器(人为的设置一些服务器不参与选举)
应用从原主DB服务上保存的二进制日志(重复的主键等会使MHA停止进行故障转移)
提升备选主DB服务器为新的主DB服务器
迁移集群中的其他从DB作为新的主DB的从服务器
MHA配置步骤
配置集群内所有主机的SSH免认证登录(比如故障转移过程中保存原主服务器二进制日志,配置虚拟IP地址等)
安装MHA-node软件包和MHA-manger软件包
yum -y install perl-Config-Tiny.noarch perl-Time-HiRes.x86_64 perl-Parallel-ForkManager perl-Log-Dispatch-Perl.noarch perl-DBD-MySQL ncftp
建立主从复制集群 (支持基于日志点的复制,基于GTID的复制(推荐使用))
配置MHA管理节点
使用mastersh_check_ssh 和 masterha_check_repl
对配置进行效验
启动并测试MHA服务
MHA工具的优点
同样是由Perl语言开发的开源工具
可以支持基于GTID的复制模式
MHA在进行故障转移时更不易产生数据丢失
同一个监控节点可以监控多个集群
MHA工具的缺点
需要编写脚本或利用第三方工具来实现Vip的配置
MHA启动后只会对主数据库进行监控
需要基于SSH免认证配置,存在一定的安全隐患
没有提供从服务器的读负载均衡功能