您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql-mmm主主復制定義與解析,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
mysql-MMM主主復制
MMM(Master-Master replication manager for MySQL)是一套支持雙主故障切換和雙主日常管理的腳本程序,主要管理雙主復制,而實際上在應用中只有一個主負責寫的操作,另一臺待機冗余,或者負責讀的一部分操作。還可以結合主從復制,分離讀寫請求。
mmm分為agent端和monitor端,agent端部署在數據庫節點上,monitor部署在監控管理端。monitor在整個數據庫集群中是唯一存在的單點故障的點,因為monitor端只復制監控和管理agent節點,任務量非常的輕,一般不會出現什么故障的,而且monitor端在為agent數據庫云服務器分配完vip地址后,即使停止了monitor服務,也不會影響業務的,只需要及時的修復即可。實在不放心可以為monitor部署keepalived.
環境
主機名: | 系統: | IP地址: | 安裝軟件: | 數據庫角色 |
m1 | centos6.5 | 192.168.100.150 | mysql mysql-server mysql-mmm* | master |
m2 | centos6.5 | 192.168.100.151 | mysql mysql-server mysql-mmm* | master |
m3 | centos6.5 | 192.168.100.152 | mysql mysql-server mysql-mmm* | slave |
m4 | centos6.5 | 192.168.100.153 | mysql mysql-server mysql-mmm* | slave |
monitor | centos6.5 | 192.168.100.154 | mysql mysql-mmm* | monitor監控 |
數據庫角色,和對應vip:
主機: | vip | 角色 | |
m1 | 192.168.100.250 | write | 負責寫的操作 |
m2 | write | 平時不工作,待機冗余 | |
m3 | 192.168.100.201 | read | 讀的操作 |
m4 | 192.168.100.202 | read | 讀的操作 |
修改主機名:依次修改m1 m2 m3 m4 monitor
分別在m1 - m4 安裝mysql服務:
[root@m1 ~]# yum -y install mysql mysql-server mysql-devel
[root@m2 ~]# yum -y install mysql mysql-server mysql-devel
[root@m3 ~]# yum -y install mysql mysql-server mysql-devel
[root@m4 ~]# yum -y install mysql mysql-server mysql-devel
修改m1的mysql主配置文件:
[root@m1 ~]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/lib/mysql/mysql.err slow_query_log_file=/var/lib/mysql/slow_query_log.log user=mysql character-set-server=utf8 log-bin=mysql-bin server-id=150 binlog-ignore-db=mysql,information_schema log-slave-updates sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1 [client] default_character_set=utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
啟動mysql服務,查看是否啟動
[root@m1 ~]# /etc/init.d/mysqld start [root@m1 ~]# netstat -utpln |grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1359/mysqld
將mysql的主配置文件同步到m2、m3、m4服務器上
[root@m1 ~]# for i in 1 2 3;do scp /etc/my.cnf root@192.168.100.15$i:/etc/;done The authenticity of host '192.168.100.151 (192.168.100.151)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.151' (RSA) to the list of known hosts. root@192.168.100.151's password: my.cnf 100% 465 0.5KB/s 00:00 The authenticity of host '192.168.100.152 (192.168.100.152)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.152' (RSA) to the list of known hosts. root@192.168.100.152's password: my.cnf 100% 465 0.5KB/s 00:00 The authenticity of host '192.168.100.153 (192.168.100.153)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.153' (RSA) to the list of known hosts. root@192.168.100.153's password: my.cnf 100% 465 0.5KB/s 00:00
登陸數據庫查看該數據庫的bin-log文件名和偏移量:
記下File Position的信息,等會要在m1-m2-m3數據庫上用到。
[root@m1 ~]# mysqladmin -uroot password 123123 [root@m1 ~]# mysql -uroot -p123123 mysql> show master status; +------------------+----------+--------------+--------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+--------------------------+ | mysql-bin.000003 | 249 | | mysql,information_schema | +------------------+----------+--------------+--------------------------+ 1 row in set (0.00 sec)
授權允許復制
mysql> grant replication slave on *.* to 'replication'@'192.168.100.%' identified by '123123'; Query OK, 0 rows affected (0.02 sec) ##授權replication用戶在192.168.100.0這個網段有對數據庫復制的權限 mysql> flush privileges; ##刷新權限 Query OK, 0 rows affected (0.00 sec) mysql> quit Bye
更改m2數據庫配置文件
這是m1服務器同步過來的配置文件,只需將server-id改了就可以了,server-id在mysql集群中是唯一的標識符,在這里以ip地址結尾定義了
[root@m2 ~]# sed -i '/server-id/s/150/151/g' /etc/my.cnf [root@m2 ~]# grep id /etc/my.cnf server-id=151 pid-file=/var/run/mysqld/mysqld.pid
啟動登入數據庫
[root@m2 ~]# /etc/init.d/mysqld start [root@m2 ~]# mysqladmin -uroot password 123123 [root@m2 ~]# mysql -uroot -p123123
在m2上查看bin-log文件和偏移量記錄下來,并授權用戶復制權限
mysql> show master status; +------------------+----------+--------------+--------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+--------------------------+ | mysql-bin.000003 | 249 | | mysql,information_schema | +------------------+----------+--------------+--------------------------+ 1 row in set (0.00 sec) mysql> grant replication slave on *.* to 'replication'@'192.168.100.%' identified by '123123'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.05 sec)
在m1上添加另一個主m2 同步數據
[root@m1 ~]# mysql -uroot -p123123 mysql> change master to -> master_host='192.168.100.151', ##m2的ip -> master_user='replication', ##m2上面授權的用戶 -> master_password='123123', ##m2上授權用戶的密碼 -> master_log_file='mysql-bin.000003', ##m2的bin-log文件(剛剛在m2上查到的) -> master_log_pos=249; ##日志文件的偏移量 Query OK, 0 rows affected (0.08 sec)
指定完了以后啟動同步
mysql> start slave; Query OK, 0 rows affected (0.00 sec)
查看同步狀態信息:
這兩項都為yes算是成功了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.100.151 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 495 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 497 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 495 Relay_Log_Space: 653 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified
在m2上添加m2的另一個主m1:
mysql> change master to -> master_host='192.168.100.150', -> master_user='replication', -> master_password='123123', -> master_log_file='mysql-bin.000003', -> master_log_pos=249; Query OK, 0 rows affected (0.10 sec) mysql> start slave; Query OK, 0 rows affected (0.00 sec) mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.100.150 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 741 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 497 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 741 Relay_Log_Space: 653 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified
驗證:
在m1和m2上各創建個庫驗證是否同步:
m1上創建
mysql> create database m1_test; Query OK, 1 row affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | m1_test | | mysql | | test | | | +--------------------+ 5 rows in set (0.00 sec)
m2上查看
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | m1_test | | mysql | | test | +--------------------+ 4 rows in set (0.07 sec)
m2上新建庫
mysql> create database test_m2; Query OK, 1 row affected (0.04 sec)
m1上查看
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | m1_test | | mysql | | test | | test_m2 | +--------------------+ 5 rows in set (0.00 sec)
正常同步了。
在m3-m4從數據庫上指定主的數據庫
[root@m3 ~]# sed -i '/server-id/s/150/152/g' /etc/my.cnf [root@m3 ~]# grep id /etc/my.cnf server-id=152 pid-file=/var/run/mysqld/mysqld.pid [root@m3 ~]# /etc/init.d/mysqld start
[root@m3 ~]# mysqladmin -uroot password 123123 [root@m3 ~]# mysql -uroot -p123123
mysql> change master to -> master_host='192.168.100.150', -> master_user='replication', -> master_password='123123', -> master_log_file='mysql-bin.000003', -> master_log_pos=249; Query OK, 0 rows affected (0.08 sec)
mysql> start slave; Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.100.150 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 929 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 931 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 929 Relay_Log_Space: 1087 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.04 sec) ERROR: No query specified
mysql> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | m1_test | | mysql | | test | | test_m2 | +--------------------+ 5 rows in set (0.08 sec) mysql>
[root@m4 ~]# sed -i '/server-id/s/150/153/g' /etc/my.cnf [root@m4 ~]# grep id /etc/my.cnf server-id=153 pid-file=/var/run/mysqld/mysqld.pid [root@m4 ~]# /etc/init.d/mysqld start [root@m4 ~]# mysqladmin -uroot password 123123 [root@m4 ~]# mysql -uroot -p123123
mysql> change master to -> master_host='192.168.100.150', -> master_user='replication', -> master_password='123123', -> master_log_file='mysql-bin.000003', -> master_log_pos=249; Query OK, 0 rows affected (0.10 sec)
mysql> start slave; Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.100.150 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 929 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 931 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 929 Relay_Log_Space: 1087 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | m1_test | | mysql | | test | | test_m2 | +--------------------+ 5 rows in set (0.00 sec)
安裝mysql-mmm:
下載epel擴展yum源: 在所用服務器上執行
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
安裝mmm軟件: 在所有服務器上執行
yum -y install mysql-mmm*
授權: 在m1上授權,其他主機會自動同步權限
[root@m1 ~]# mysql -uroot -p123123 mysql> grant replication client on *.* to 'mmm_monitor'@'192.168.100.%' identified by 'monitor'; Query OK, 0 rows affected (0.02 sec) mysql> grant super,replication client,process on *.* to 'mmm_agent'@'192.168.100.&' identified by 'agent'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
修改配置文件: mmm_common.conf(所有節點的通用配置文件)
[root@monitor ~]# vi /etc/mysql-mmm/mmm_common.conf
active_master_role writer <host default> cluster_interface eth0 pid_path /var/run/mysql-mmm/mmm_agentd.pid bin_path /usr/libexec/mysql-mmm/ replication_user replication ##復制同步的用戶名 replication_password 123123 ##同步的密碼 agent_user mmm_agent ##代理的用戶名 agent_password agent ##代理密碼 </host> <host db1> ip 192.168.100.150 mode master peer db2 </host> <host db2> ip 192.168.100.151 mode master peer db1 </host> <host db3> ip 192.168.100.152 mode slave </host> <host db4> ip 192.168.100.153 mode slave </host> <role writer> hosts db1, db2 ips 192.168.100.250 ##寫的vip mode exclusive ##獨占模式 </role> <role reader> hosts db3, db4 ips 192.168.100.201, 192.168.100.202 ##讀的vip mode balanced ##平衡模式 </role>
同步配置文件到m1 m2 m3 m4 上:
[root@monitor ~]# for i in 150 151 152 153;do scp /etc/mysql-mmm/mmm_common.conf root@192.168.100.$i:/etc/mysql-mmm/;done The authenticity of host '192.168.100.150 (192.168.100.150)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.150' (RSA) to the list of known hosts. root@192.168.100.150's password: mmm_common.conf 100% 851 0.8KB/s 00:00 The authenticity of host '192.168.100.151 (192.168.100.151)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.151' (RSA) to the list of known hosts. root@192.168.100.151's password: mmm_common.conf 100% 851 0.8KB/s 00:00 The authenticity of host '192.168.100.152 (192.168.100.152)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.152' (RSA) to the list of known hosts. root@192.168.100.152's password: mmm_common.conf 100% 851 0.8KB/s 00:00 The authenticity of host '192.168.100.153 (192.168.100.153)' can't be established. RSA key fingerprint is 6b:3d:8b:50:dc:45:ea:58:38:6e:5d:0d:9b:8f:04:f2. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.100.153' (RSA) to the list of known hosts. root@192.168.100.153's password: mmm_common.conf 100% 851 0.8KB/s 00:00
修改數據庫mysql-m1到mysql-m4:
[root@m1 ~]# vi /etc/mysql-mmm/mmm_agent.conf [root@m1 ~]# cat /etc/mysql-mmm/mmm_agent.conf include mmm_common.conf this db1
[root@m2 ~]# vi /etc/mysql-mmm/mmm_agent.conf [root@m2 ~]# cat /etc/mysql-mmm/mmm_agent.conf include mmm_common.conf this db2
[root@m3 ~]# vi /etc/mysql-mmm/mmm_agent.conf [root@m3 ~]# cat /etc/mysql-mmm/mmm_agent.conf include mmm_common.conf this db3
[root@m4 ~]# vi /etc/mysql-mmm/mmm_agent.conf [root@m4 ~]# cat /etc/mysql-mmm/mmm_agent.conf include mmm_common.conf this db4
[root@monitor ~]# vi /etc/mysql-mmm/mmm_mon.conf [root@monitor ~]# cat /etc/mysql-mmm/mmm_mon.conf include mmm_common.conf <monitor> 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.100.150, 192.168.100.151, 192.168.100.152, 192.168.100.153 ##監測每個節點數據庫:修改為每個服務器的真實ip地址 auto_set_online 60 ##自動上線時間, </monitor> <host default> monitor_user mmm_monitor ##監控服務的用戶名 monitor_password monitor ##監控服務的密碼,這兩項是在m1上授權的 </host> debug 0
啟動服務:m1-m4的mmm-agent服務; 監控端的mmm-monitor服務
[root@m1 ~]# /etc/init.d/mysql-mmm-agent start Starting MMM Agent Daemon: [確定] [root@m1 ~]#
[root@m2 ~]# [root@m2 ~]# /etc/init.d/mysql-mmm-agent start Starting MMM Agent Daemon: [確定]
[root@m3 ~]# /etc/init.d/mysql-mmm-agent start Starting MMM Agent Daemon: [確定]
[root@m4 ~]# /etc/init.d/mysql-mmm-agent start Starting MMM Agent Daemon: [確定]
[root@monitor ~]# /etc/init.d/mysql-mmm-monitor start Starting MMM Monitor Daemon: [確定]
查看各代理數據庫狀態
[root@monitor ~]# mmm_control show db1(192.168.100.150) master/ONLINE. Roles: writer(192.168.100.250) db2(192.168.100.151) master/ONLINE. Roles: db3(192.168.100.152) slave/ONLINE. Roles: reader(192.168.100.201) db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.202)
##發現寫的請求交給db1的vip,讀的請求交給db3 db4 vip
使用vip登錄數據庫:
先在m1上授權:因為設置了同步,只在一個數據庫上授權,其他數據庫會同步權限
[root@m1 ~]# mysql -uroot -p123123 -s mysql> grant all on *.* to 'root'@192.168.100.154 identified by '123123'; mysql> flush privileges;
[root@monitor ~]# mysql -uroot -p123123 -h 192.168.100.250 -s mysql> show databases; Database information_schema m1_test mysql test test_m2
登陸讀的數據庫:
[root@monitor ~]# mysql -uroot -p123123 -h 192.168.100.201 -s mysql> show databases; Database information_schema m1_test mysql test test_m2 mysql>
在生產環境中,只需在應用服務器上,指定寫數據的vip地址,和讀數據的vip地址池即可。
測試:
模擬主服務器m1故障,將mysql停止了,再查看狀態:
[root@m1 ~]# /etc/init.d/mysqld stop 停止 mysqld: [確定] [root@m1 ~]#
[root@monitor ~]# mmm_control show db1(192.168.100.150) master/HARD_OFFLINE. Roles: ##顯示為離線狀態 db2(192.168.100.151) master/ONLINE. Roles: writer(192.168.100.250) ##vip轉移到db2 db3(192.168.100.152) slave/ONLINE. Roles: reader(192.168.100.201) db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.202)
再把m1啟動
[root@m1 ~]# /etc/init.d/mysqld start 正在啟動 mysqld: [確定] [root@m1 ~]#
[root@monitor ~]# mmm_control show db1(192.168.100.150) master/AWAITING_RECOVERY. Roles: ##恢復狀態 db2(192.168.100.151) master/ONLINE. Roles: writer(192.168.100.250) db3(192.168.100.152) slave/ONLINE. Roles: reader(192.168.100.201) db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.202) [root@monitor ~]# mmm_control show db1(192.168.100.150) master/ONLINE. Roles: ##在線狀態 db2(192.168.100.151) master/ONLINE. Roles: writer(192.168.100.250) db3(192.168.100.152) slave/ONLINE. Roles: reader(192.168.100.201) db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.202)
模擬從數據庫m3故障,將數據庫mysql停止查看狀態,再啟動查看狀態
[root@m3 ~]# /etc/init.d/mysqld stop 停止 mysqld: [確定]
此時會將讀數據庫db3的vip轉移到db4;db4暫時負責讀的操作
[root@monitor ~]# mmm_control show db1(192.168.100.150) master/ONLINE. Roles: db2(192.168.100.151) master/ONLINE. Roles: writer(192.168.100.250) db3(192.168.100.152) slave/HARD_OFFLINE. Roles: db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.201), reader(192.168.100.202)
[root@m3 ~]# /etc/init.d/mysqld start 正在啟動 mysqld: [確定] [root@m3 ~]#
在db3數據庫恢復正常后,vip會轉移回來,從新工作接受讀的操作
[root@monitor ~]# mmm_control show db1(192.168.100.150) master/ONLINE. Roles: db2(192.168.100.151) master/ONLINE. Roles: writer(192.168.100.250) db3(192.168.100.152) slave/ONLINE. Roles: reader(192.168.100.201) db4(192.168.100.153) slave/ONLINE. Roles: reader(192.168.100.202)
看了以上關于mysql-mmm主主復制定義與解析,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。