MySQL HA by using Mysql-mmm

來源:互聯網
上載者:User

MySQL-mmm-two nodes(master)架構

650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131229/1Q2143928-0.png" />

In two node master-master setup, MMM uses five IPs: single permanent IP for each nodethat is never changed, 2 reader IPs (read-only) and 1 writer IP (updates). Last three IPsare migrating between the nodes depending on node availability.Normally (no replication failures, no replication delay etc) active master has 2 IPs (readerand writer), standby master - 1 IP (reader). In case of a failure, both - writer and readerroles migrate to the working node. 測試環境部署 主機              ip              說明monitor       192.168.1.109     mmm monitor伺服器master         192.168.1.106     資料庫伺服器(master)slave1          192.168.1.107     資料庫伺服器(同樣也為master) vip部署 ip                         role                說明 192.168.1.220      writer           應用串連此ip執行寫操作192.168.1.221      reader          應用串連此ip執行讀操作192.168.1.222      reader          應用串連此ip執行讀操作 具體安裝配置過程:1.安裝MySQL-mmm與master-master複製略) 2.資料庫節點建立mmm_monitor與mmm_agent使用者
 
  1. GRANT REPLICATION CLIENT   ON *.* TO 'mmm_monitor'@'192.168.1.%'   
  2. IDENTIFIED BY 'RepMonitor'; 
  3. GRANT SUPER, REPLICATION CLIENT, PROCESS ON *.* TO 'mmm_agent'@'192.168.1.%'   
  4. IDENTIFIED BY 'RepAgent'; 
3.所有節點包括monitor節點)配置/etc/mysql-mmm/mmm_common.conf所有節點均相同
 
  1. active_master_role      writer 
  2.  
  3. <host default> 
  4.     cluster_interface       eth0 
  5.     pid_path                /var/run/mysql-mmm/mmm_agentd.pid 
  6.     bin_path                /usr/libexec/mysql-mmm/ 
  7.     replication_user        repl 
  8.     replication_password    repl 
  9.     agent_user              mmm_agent 
  10.     agent_password          RepAgent 
  11. </host> 
  12.  
  13. <host master> 
  14.     ip      192.168.1.106 
  15.     mode    master 
  16.     peer    slave1 
  17. </host> 
  18.  
  19. <host slave1> 
  20.     ip      192.168.1.107 
  21.     mode    master 
  22.     peer    master 
  23. </host> 
  24.  
  25. <role writer> 
  26.     hosts   master, slave1 
  27.     ips     192.168.1.220 
  28.     mode    exclusive 
  29. </role> 
  30.  
  31. <role reader> 
  32.     hosts   master, slave1 
  33.     ips     192.168.1.221, 192.168.1.222 
  34.     mode    balanced 
  35. </role> 

4.資料庫節點配置/etc/mysql-mmm/mmm_agent.conf

 
  1. include mmm_common.conf 
  2.  
  3. # The 'this' variable refers to this server.  Proper operation requires 
  4. # that 'this' server (db1 by default), as well as all other servers, have the 
  5. # proper IP addresses set in mmm_common.conf. 
  6. # 修改為主機名稱
  7. this master 

5.monitor節點配置/etc/mysql-mmm/mmm_mon.conf

 
  1. include mmm_common.conf 
  2.  
  3. <monitor> 
  4.     ip                  127.0.0.1 
  5.     pid_path            /var/run/mysql-mmm/mmm_mond.pid 
  6.     bin_path            /usr/libexec/mysql-mmm 
  7.     status_path         /var/lib/mysql-mmm/mmm_mond.status 
  8.     ping_ips            192.168.1.1, 192.168.1.106, 192.168.1.107 
  9.     auto_set_online     60 
  10.  
  11.     # The kill_host_bin does not exist by default, though the monitor will 
  12.     # throw a warning about it missing.  See the section 5.10 "Kill Host 
  13.     # Functionality" in the PDF documentation. 
  14.     # 
  15.     # kill_host_bin     /usr/libexec/mysql-mmm/monitor/kill_host 
  16.     # 
  17. </monitor> 
  18.  
  19. <host default> 
  20.     monitor_user        mmm_monitor 
  21.     monitor_password    RepMonitor 
  22. </host> 
  23.  
  24. debug 0 

6.MySQL-mmm測試

 
  1. [root@monitor mysql-mmm]# mmm_control show 
  2.   master(192.168.1.106) master/ONLINE. Roles: reader(192.168.1.222), writer(192.168.1.220) 
  3.   slave1(192.168.1.107) master/ONLINE. Roles: reader(192.168.1.221) 
  4.  
  5. --關閉master主機上的mysql服務,角色成功切換 
  6. [root@monitor mysql-mmm]# mmm_control show 
  7.   master(192.168.1.106) master/HARD_OFFLINE. Roles:  
  8.   slave1(192.168.1.107) master/ONLINE. Roles: reader(192.168.1.221), reader(192.168.1.222), writer(192.168.1.220) 
  9.  
  10. --啟動master主機上的mysql服務,角色成功切換 
  11. [root@monitor mysql-mmm]# mmm_control show 
  12.   master(192.168.1.106) master/ONLINE. Roles: reader(192.168.1.221) 
  13.   slave1(192.168.1.107) master/ONLINE. Roles: reader(192.168.1.222), writer(192.168.1.220) 

7.常用命令

 
  1. [root@monitor mysql-mmm]# mmm_control show 
  2. [root@monitor mysql-mmm]# mmm_control set_online slave1 
  3. [root@monitor mysql-mmm]# mmm_control set_offline slave1 

 

本文出自 “與IT一起的日子” 部落格,請務必保留此出處http://raugher.blog.51cto.com/3472678/1174255

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.