MySQL Master-Master Replication Manager (MMM) 由 Perl 開發,提供:
| 角色 | Hostname | IP | 組件 |
|---|---|---|---|
| Master 1 | master | 192.168.137.10 | mysql-mmm-agent |
| Master 2 (Backup) | backup | 192.168.137.20 | mysql-mmm-agent |
| Slave | slave | 192.168.137.30 | mysql-mmm-agent |
| Monitor | monitor | 192.168.137.40 | mysql-mmm-monitor, mysql-mmm-agent |
虛擬 IP:Writer 192.168.137.100,Reader 192.168.137.120/130/140
active_master_role writercluster_interface eth0 pid_path /var/run/mysql-mmm/mmm_agentd.pid bin_path /usr/libexec/mysql-mmm/ replication_user repl replication_password repl agent_user mmm_agent agent_password mmm_agent ip 192.168.137.10 mode master peer backup ip 192.168.137.20 mode master peer master ip 192.168.137.30 mode slave hosts master, backup ips 192.168.137.100 mode exclusive hosts backup, slave ips 192.168.137.120, 192.168.137.130, 192.168.137.140 mode balanced
this master # 其餘節點分別改為 this backup / this slave
include mmm_common.confip 127.0.0.1 pid_path /var/run/mysql-mmm/mmm_mond.pid bin_path /usr/libexec/mysql-mmm status_path /var/lib/mysql-mmm/mmm_mond.status ping_ips 192.168.137.10,192.168.137.20,192.168.137.30 auto_set_online 0 monitor_user mmm_monitor monitor_password mmm_monitor debug 0
/etc/hosts 映射 hostnameGRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'192.168.137.%' IDENTIFIED BY 'mmm_monitor';GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO 'mmm_agent'@'192.168.137.%' IDENTIFIED BY 'mmm_agent';yum install mysql-mmm*(監控裝全套,DB 節點只裝 agent)mmm_common.conf 到所有節點mmm_agent.conf、啟動 service mysql-mmm-agent startmmm_mon.conf、啟動 service mysql-mmm-monitor start方案 優點 缺點 推薦場景 MMM 成熟、輕量、VIP 管理 Perl 依賴、單點 Monitor、社區維護緩慢 中小規模、已有 MMM 經驗 MHA 故障轉移快、支持 Binlog 補全、純 Perl 需 SSH 免密、無 VIP 管理 高可用要求高、DBA 團隊成熟 Orchestrator Web UI、拓撲可視化、自動遷移、Go 編寫 學習曲線陡峭 大規模集群、自動化運維 InnoDB Cluster 原生 Group Replication、MySQL Router、Shell 管理 版本要求 5.7.17+/8.0、學習成本高 新架構、雲原生、官方支持