自动故障迁移MHA:MySQL自动实现高可用故障自动迁移(mysqlmha)
今天,由于数据库和应用数量的增加,在企业级应用环境中,如何实现MySQL数据库的高可用性变得越来越重要。从完全手动的备份和恢复方案,到MySQL数据库实时多次复制,最后到自动实现高可用故障自动迁移,MySQL解决方案一直在发生变化。在知晓了关于MySQL高可用性的背景知识后,可以说我们有理由使用一个叫做MHA的工具来自动实现MySQL高可用故障自动迁移(故障诊断和自动故障迁移)。
MHA(MySQL自动高可用迁移)是一个用于管理MySQL双主复制拓扑的自动脚本程序,它由著名的株式会社DeNA捐赠给社区,并且受到原创作者HiroakiKawai的维护。MHA的目标是提供管理MySQL双端复制拓扑的一站式解决方案,并实现故障自动迁移。MHA的功能是XML形式和SSH安全传输来实现双主复制服务器的管理,能够自动检查服务器状态,失败切换,配置管理,以及其他额外的操作。
下面是MHA的基本安装步骤:
– 第一步,需先安装Perl(网络上都有这些脚本的具体安装方式);
– 第二步,将要操作的MySQL服务器拷贝脚本mha4mysql-node-0.57.tar.gz到每台服务器上;
– 第三步,解压缩mha4mysql-node-0.57.tar.gz,然后进入脚本安装目录,运行 ./mha_setup.sh 脚本,完成脚本安装;
– 第四步,创建MHA Manager服务器启动实例,以及MySQL服务器实例(通常是1个Manager实例管理2个以上的Mysql服务器实例);
– 第五步,启动MHA Manager服务,它会自动开始监控你的Mysql实例,自动完成异常转移;
通过自动故障迁移MHA的安装和使用,可以使得MySQL数据库的高可用性变得简单快捷,不但可以节省宝贵的时间,提高数据库服务可用性,还能有效增强服务整体系统的稳定性和安全性。
#MHA具体命令
# 启动 mha manager# MHA默认会扫描配置文件/etc/masterha/app1/masterha_default.cnf
# 节点参考:http://code.google.com/p/mysql-master-ha/wiki/MHAUserGuidemha4mysql-manager --conf=/etc/masterha/app1/masterha_default.cnf start
# 查看当前mha状态mha4mysql-manager --conf=/etc/masterha/app1/masterha_default.cnf status
# 停止 mha managermha4mysql-manager --conf=/etc/masterha/app1/masterha_default.cnf stop
# 通过check_repl命令来检测VIP的权限和复制的状态masterha_check_repl --conf=/etc/masterha/app1/masterha_default.cnf