首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 高可用 MMM 架構原理、部署實戰與故障切換演練

     編輯:MySQL 綜合教學

MMM 架構概覽

MySQL Master-Master Replication Manager (MMM) 由 Perl 開發,提供:

  • 雙主熱備:兩台 Master 互為主從,任一可寫
  • 虛擬 IP 漂移:Writer VIP 單點寫入,Reader VIP 多點讀取負載均衡
  • 自動故障轉移:監控端檢測心跳、複製延遲、線程狀態,自動切換角色
  • 手動干預模式:支持 Active/Manual/Passive 三種運行模式

部署拓撲規劃

角色HostnameIP組件
Master 1master192.168.137.10mysql-mmm-agent
Master 2 (Backup)backup192.168.137.20mysql-mmm-agent
Slaveslave192.168.137.30mysql-mmm-agent
Monitormonitor192.168.137.40mysql-mmm-monitor, mysql-mmm-agent

虛擬 IP:Writer 192.168.137.100,Reader 192.168.137.120/130/140

核心配置文件

1. 通用配置 mmm_common.conf(全節點同步)

active_master_role writer


cluster_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

2. Agent 配置 mmm_agent.conf(各 DB 節點)

this master
# 其餘節點分別改為 this backup / this slave

3. Monitor 配置 mmm_mon.conf(監控節點)

include mmm_common.conf


ip 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

部署步驟

  1. 所有節點 /etc/hosts 映射 hostname
  2. DB 節點創建監控/代理用戶:
    GRANT 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';
  3. 安裝 EPEL 源 → yum install mysql-mmm*(監控裝全套,DB 節點只裝 agent)
  4. 分發 mmm_common.conf 到所有節點
  5. DB 節點配置 mmm_agent.conf、啟動 service mysql-mmm-agent start
  6. 監控節點配置 mmm_mon.conf、啟動 service mysql-mmm-monitor start

mmm_control 運維命令實戰

方案優點缺點推薦場景
MMM成熟、輕量、VIP 管理Perl 依賴、單點 Monitor、社區維護緩慢中小規模、已有 MMM 經驗
MHA故障轉移快、支持 Binlog 補全、純 Perl需 SSH 免密、無 VIP 管理高可用要求高、DBA 團隊成熟
OrchestratorWeb UI、拓撲可視化、自動遷移、Go 編寫學習曲線陡峭大規模集群、自動化運維
InnoDB Cluster原生 Group Replication、MySQL Router、Shell 管理版本要求 5.7.17+/8.0、學習成本高新架構、雲原生、官方支持

							
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved