MySQL (MHA)重构版
https://github.com/hcymysql/MHA-Re-Edition由于 MHA ( mha4mysql-manager )工具 2018 年已经停止维护更新,且不支持 Gtid 复制模式,在原版基础上增补功能难度较大,固考虑将其重构。
参考了原版 MHA 的故障切换思路,改进的地方如下:
1 )无需打通 ssh 公私钥互信认证,只需在 app1.cnf 配置文件里提供用户名和密码( root 权限)即可,这一步的作用是漂移 VIP ,工具会直接进入远程主机上执行 ip addr add VIP
2 )目前主流版本 MySQL 5.7 和 8.0 的复制模式是基于 Gtid ,因事务号是唯一的,更改同步复制源不需要知道 binlog 文件名和 position 位置点,固简化了在客户端部署 agent 做数据补齐。
3 )无需安装,就两个文件,一个是(环境配置检查)可执行文件 masterha_check_repl_mysql ,一个是(故障自动转移 autofailover 和在线平滑切换 online switch )可执行文件 masterha_manager_mysql
4 ) 基于主从复制( Gtid 复制模式)才可以运行,masterha_check_repl_mysql 工具会检测,如果是基于 binlog 和 position (位置点复制模式)不能运行。可开启半同步复制确保切换以后数据完整性(至少有一个从库确认已接收到所有事件)。
5 ) masterha_manager_mysql 守护进程主控文件,集成了 ( masterha_master_switch + master_ip_failover + masterha_secondary_check + shutdown_script + weixin_alarm )捆绑在一起
6 ) AutoFailover 自动故障切换(转移) VIP 后,会发送微信公众号报警通知
7 )支持远控卡重启服务器(避免脑裂问题)。例如删除 VIP 失败,主机已经 hang 住,只能通过远程管理卡去重启机器。在这里你可以调用远控卡命令,比如 DELL 服务器的 ipmitool 命令
https://www.cnblogs.com/EricDing/p/8995263.html8 )增补对 MariaDB Gtid 的支持