先來看看架構,如下圖:


部署
1.修改hosts
在所有的服務器中執行相同的操作。
vim /etc/hosts
| 192.168.137.10 master192.168.137.20 backup192.168.137.30 slave192.168.137.40 monitor |
2.添加mysql用戶
只需要在所有的數據庫端執行即可,監控端不需要。
| 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';flush privileges; |

注意:repl用戶在搭建主從服務的時候已經創建好了。
3.安裝監控軟件
注意:監控端全部安裝,但是監控端只需要用到mysql-mmm-monitor,mysql-mmm-agent不需要啟動。
數據庫端只需要安裝mysql-mmm-agent
1.在監控服務器執行
| wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm –ivh epel-release-6-8.noarch.rpmyum –y install mysql-mmm* |
2.在數據庫服務器上執行,每個數據庫服務器上都要執行
| wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm –ivh epel-release-6-8.noarch.rpmyum -y install mysql-mmm-agent |
路徑說明:

4.配置文件
db服務器配置文件:mmm_agent.conf,mmm_common.conf
監控服務器的配置文件:mmm_mon.conf,mmm_common.conf(該文件所有服務器一樣)
配置db服務器
1.修改master服務器
| vim /etc/mysql-mmm/mmm_common.conf |
| active_master_role writer ###積極的master角色的標示,所有的db服務器都需要開啟read_only參數,對于writer服務器監控代理會自動將read_only屬性關閉。<host default> cluster_interface eth0 #####群集的網絡接口 pid_path /var/run/mysql-mmm/mmm_agentd.pid ####pid路徑 bin_path /usr/libexec/mysql-mmm/ #####可執行文件路徑 replication_user repl #######復制用戶 replication_password repl #######復制用戶密碼 agent_user mmm_agent #######代理用戶,用于更改只讀操作 agent_password mmm_agent #######代理用戶密碼</host><host master> ##########master1的host名 ip 192.168.137.10 #####master1的ip mode master ########角色屬性,master代表是主 peer backup ########與master1對等的服務器的host名,也就是master2的服務器host名</host><host backup> ####和master的概念一樣 ip 192.168.137.20 mode master peer master</host><host slave> #####從庫的host名,如果存在多個從庫可以重復一樣的配置 ip 192.168.137.30 ####從的ip mode slave #####slave的角色屬性代表當前host是從</host><role writer> ####writer角色配置 hosts master,backup ####能進行寫操作的服務器的host名,如果不想切換寫操作這里可以只配置master,這樣也可以避免因為網絡延時而進行write的切換,但是一旦master出現故障那么當前的MMM就沒有writer了只有對外的read操作。 ips 192.168.137.100 #####對外提供的寫操作的虛擬IP mode exclusive #####exclusive代表只允許存在一個主,也就是只能提供一個寫的IP</role><role reader> #####read角色配置 hosts backup,slave ######對外提供讀操作的服務器的host名,當然這里也可以把master加進來 ips 192.168.137.120,192.168.137.130,192.168.137.140 ###對外提供讀操作的虛擬ip,這兩個ip和host不是一一對應的,并且ips也hosts的數目也可以不相同,如果這樣配置的話其中一個hosts會分配兩個ip mode balanced ###balanced代表負載均衡</role> |