MySQL MHA 部署说明

本文说明 mha.yml 的支持边界和基础使用方式。

1. 支持边界

  • 当前按 CentOS 7.5 / EL7 环境维护
  • 目标架构:一主多从 + MHA Manager
  • 适用版本:MySQL 5.7

mha.yml 属于传统高可用方案。对于新建集群,优先建议使用 MGR 或 InnoDB Cluster。

2. inventory 与角色

mha.yml 仍然使用 [dbbot_mysql] 主机组,实际角色通过变量区分:

[dbbot_mysql]
192.168.199.131 ansible_user=root ansible_ssh_pass="'密码'"
192.168.199.132 ansible_user=root ansible_ssh_pass="'密码'"
192.168.199.133 ansible_user=root ansible_ssh_pass="'密码'"

3. 关键变量

编辑 mysql_ansible/playbooks/vars/var_mha.yml

master_ip: 192.168.199.131
slave_ips:
  - 192.168.199.132
  - 192.168.199.133
manager_ip: 192.168.199.132
vip: 192.168.199.134
vip_netmask: "32"
net_work_interface: ens33

说明:

  • manager_ip 不能与 master_ip 相同
  • manager_ip 应放在从库节点上
  • vipvip_netmasknet_work_interface 需要与实际网络环境一致

4. 执行入口

cd /usr/local/dbbot/mysql_ansible/playbooks
ansible-playbook mha.yml

5. 注意事项

  • mha.yml 当前文档只覆盖 CentOS 7.5 / EL7 使用前提。
  • 如果你在其他发行版上使用,需要先自行验证 Perl 依赖和 MHA RPM 兼容性。
  • 失败后如需重跑,建议先确认 MHA Manager 配置、VIP 状态和 MySQL 实例状态,再决定是否清理残留文件。