一、環境簡述
1、工作邏輯圖
2、MySQL-MMM優缺點
優點:高可用性,擴充性好,出現故障自動切換,對於主主同步,在同一時間只提供一台資料庫寫操作,保證的資料的一致性。
缺點:Monitor節點是單點,可以結合Keepalived實現高可用。
3、MySQL-MMM工作原理
MMM(Master-Master replication managerfor Mysql,Mysql主主複製管理器)是一套靈活的指令碼程式,基於perl實現,用來對mysql replication進行監控和故障遷移,並能管理mysql Master-Master複製的配置(同一時間只有一個節點是可寫的)。
mmm_mond:監控進程,負責所有的監控工作,決定和處理所有節點角色活動。此指令碼需要在監管機上運行。
mmm_agentd:運行在每個mysql伺服器上的代理進程,完成監控的探針工作和執行簡單的遠端服務設定。此指令碼需要在被監管機上運行。
mmm_control:一個簡單的指令碼,提供管理mmm_mond進程的命令。
mysql-mmm的監管端會提供多個虛擬IP(VIP),包括一個可寫VIP,多個可讀VIP,通過監管的管理,這些IP會綁定在可用mysql之上,當某一台mysql宕機時,監管會將VIP遷移至其他mysql。
在整個監管過程中,需要在mysql中添加相關授權使用者,以便讓mysql可以支援監理機的維護。授權的使用者包括一個mmm_monitor使用者和一個mmm_agent使用者,如果想使用mmm的備份工具則還要添加一個mmm_tools使用者。
4、需求描述
作業系統:CentOS 6.5_X64
資料庫:MySQL 5.1
MMM:MySQL-MMM 2.2.1
資料庫分配:
function |
ip |
hostname |
server id |
monitoring host |
192.168.0.201 |
monitor |
無 |
master 1 |
192.168.0.202 |
db1 |
1 |
master 2 |
192.168.0.203 |
db2 |
2 |
slave 1 |
192.168.0.204 |
db3 |
3 |
slave 2 |
192.168.0.205 |
db4 |
4 |
虛擬IP地址(VIP):
ip |
role |
192.168.0.211 |
writer |
192.168.0.212 |
reader |
192.168.0.213 |
reader |
資料庫同步需要的使用者:
function |
description |
privileges |
monitor user |
mmm監控用於對mysql伺服器處理序健全狀態檢查 |
REPLICATION CLIENT |
agent user |
mmm代理用來更改唯讀模式,複製的主伺服器等 |
SUPER, REPLICATION CLIENT, PROCESS |
replication user |
用於複製 |
REPLICATION SLAVE |