欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

MySQL5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

上一篇博文我們使用keepalived+主從同步搭建了一個簡單的MySQL高可用架構(gòu)(詳見https://blog.51cto.com/jiangjianlong/1981994),今天再分享下通過MMM搭建的實現(xiàn)MySQL讀寫分離的高可用群集。MMM (Master-Master Replication Manager for MySQL)是使用perl開發(fā)的MySQL主主復制管理器,可實現(xiàn)讀寫分離的高可用架構(gòu),對主庫實現(xiàn)寫請求的高可用,對從庫實現(xiàn)讀請求的負載均衡。本文的架構(gòu)示意圖如下:

成都創(chuàng)新互聯(lián)是專業(yè)的興平網(wǎng)站建設公司,興平接單;提供成都網(wǎng)站建設、做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行興平網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

一、部署環(huán)境

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

二、環(huán)境準備

1、配置好IP地址、主機名,關(guān)閉防火墻和selinux

2、分別為mysql-master01、mysql-master02、mysql-slave01、mysql-slave02安裝MySQL 5.6,安裝方法請參見本文之前的博文《MySQL 5.6.38在RedHat 6.5上通過RPM包安裝》,需要注意的是要安裝Mysql-devel的rpm包。

3、為5臺服務器配置好hosts解析:

192.168.10.81 mysql-master01

192.168.10.82 mysql-master02

192.168.10.83 mysql-slave01

192.168.10.84 mysql-slave02

192.168.10.85 mysql-monitor

4、將RedHat 6.5的介質(zhì)配置成本地yum源


三、配置兩臺master互為主從

1、編輯mysql-master01和mysql-master02的/etc/my.cnf文件并重啟mysql服務:

mysql-master01:

[mysqld] 
server-id=1              #每臺設置不同
log-bin=mysql-bin
[mysqld_safe]
auto_increment_increment=2  #字段一次遞增多少 
auto_increment_offset=1    #自增字段的起始值,master02需設置為2 
replicate-do-db=all        #同步的數(shù)據(jù)庫,多個用逗號隔開 
log-slave_updates        #當一個主故障,另一個立即接管 
sync-binlog=1            #每條自動更新,安全性高,默認是0 
log-error = /var/log/mysqld.log
read_only = 1

mysql-master02:

[mysqld] 
server-id=2              #每臺設置不同 
log-bin=mysql-bin 
[mysqld_safe]
auto_increment_increment=2  #字段一次遞增多少
auto_increment_offset=2    #自增字段的起始值,master02需設置為2
replicate-do-db=all        #同步的數(shù)據(jù)庫,多個用逗號隔開
log-slave_updates       #當一個主故障,另一個立即接管
sync-binlog=1            #每條自動更新,安全性高,默認是0
log-error = /var/log/mysqld.log
read_only = 1


2、在mysql-master01上創(chuàng)建用于同步的賬戶repl,密碼為123456,并查詢master狀態(tài),記下file名稱和posttion數(shù)值

mysql> GRANT REPLICATION SLAVE ON *.* to 'repl'@'%' identified by '123456';

mysql> show master status;

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)


3、在mysql-master02上登錄mysql,執(zhí)行以下語句開啟從服務器

mysql> change master to master_host='192.168.10.81',master_user='repl',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=318;

mysql> start slave;

mysql> show slave status\G

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

4、然后在mysql-master02上也創(chuàng)建用于同步的賬戶repl,密碼為123456,并查詢master狀態(tài),記下file名稱和posttion數(shù)值

mysql> GRANT REPLICATION SLAVE ON *.* to 'repl'@'%' identified by '123456';

mysql> show master status;

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

5、在mysql-master01上登錄mysql執(zhí)行以下語句開啟從服務器,注意這里master_host要填寫mysql-master02的IP

mysql> change master to master_host='192.168.10.82',master_user='repl',master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=318;  

mysql> start slave;

mysql> show slave status\G

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

6、這樣兩臺master的互為主從就配置好了,下面我們來測試一下,先做mysql-master01上執(zhí)行以下語句創(chuàng)建一個數(shù)據(jù)庫、一個表并插入一行數(shù)據(jù)

mysql> create database names_test;

mysql> use names_test;

mysql> create table names(id int(5),name char(15));

mysql> insert into names values (01,'jiangjianlong');

mysql> select * from names;

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

7、然后到mysql-master02上查詢一下,發(fā)現(xiàn)已經(jīng)同步完成了,說明mysql-master02作為mysql-master01的從庫復制正常

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

8、在mysql-master02上也創(chuàng)建一個數(shù)據(jù)庫、一個表并插入一行數(shù)據(jù)

mysql> create database blogs_test;

mysql> use blogs_test;

mysql> create table blogs(id int(5),name char(35));

mysql> insert into blogs values (01,'jiangjianlong.blog.51cto.com');

mysql> select * from names;

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

9、在mysql-master01上查詢一下,發(fā)現(xiàn)數(shù)據(jù)也已經(jīng)同步過來,說明mysql-master01作為mysql-master02的從庫也是復制正常

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

四、配置兩臺slave作為master01的從庫

1、mysql-slave01和mysql-slave02分別使用以下my.cnf

mysql-slave01:

[mysqld]
server-id=3              #每臺設置不同
log-bin=mysql-bin
 
[mysqld_safe]
replicate-do-db=all         
log-error = /var/log/mysqld.log
read_only = 1

mysql-slave02:

[mysqld]
server-id=4             #每臺設置不同
log-bin=mysql-bin
 
[mysqld_safe]
replicate-do-db=all         
log-error = /var/log/mysqld.log
read_only = 1

2、根據(jù)在mysql-master01上執(zhí)行show master status查出來的結(jié)果,在mysql-slave01和mysql-slave02上分別執(zhí)行以下sql語句,開啟從服務器:

mysql> change master to master_host='192.168.10.81',master_user='repl',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=120;

mysql> start slave;

mysql> show slave status\G

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

五、安裝MMM要求的Perl模塊

1、MMM對所有MySQL節(jié)點所要求的Perl模塊如下:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

2、以下以mysql-master01為例進行perl模塊的安裝,另外3臺MySQL服務器同理。首先查看一下這些perl模塊還有哪些沒裝:

perldoc -l Algorithm::Diff  DBI  DBD::mysql File::Basename File::stat Log::Dispatch Log::Log4perl Mail::Send Net::ARP Proc::Daemon Time::HiRes

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

3、部分缺失的perl模塊在Redhat6.5的介質(zhì)中有,可以通過本地yum源的方式安裝

[root@mysql-master01 ~]# yum install perl-DBI perl-DBD-mysql perl-MailTools perl-Time-HiRes perl-CPAN -y

4、使用以下命令再查看一下安裝結(jié)果

perldoc -l Algorithm::Diff  DBI  DBD::mysql File::Basename File::stat Log::Dispatch Log::Log4perl Mail::Send Net::ARP Proc::Daemon Time::HiRes

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

5、剩下的幾個perl模塊安裝起來稍微麻煩一點,可以使用源碼包編譯安裝,也可以使用cpan在線自動下載安裝,并能處理各模塊間的依賴關(guān)系。我一開始是嘗試去下載源碼包后手動進行編譯安裝,然而我在編譯到Log::Dispatch時我直接放棄這種方式了,因為它依賴于很多個其它的perl模塊,而這些模塊可能又依賴于別的多個模塊!如下圖:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

6、所以我決定使用cpan在線自動安裝的方式,但需要服務器能連外網(wǎng)。由于使用cpan安裝Algorithm::Diff時會告警提示YAML沒有安裝,因此我先使用cpan安裝YAML,而安裝YAML時會把它所依賴的Algorithm::Diff給裝上

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

7、接著執(zhí)行cpan Log::Dispatch安裝Log::Dispatch,沒想到在自動下載安裝了50多個依賴模塊后還是報錯提示有多個依賴的模塊缺失,如下圖:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

8、解決辦法:依次使用cpan安裝上圖所示的缺少的模塊,然后再執(zhí)行cpan Log::Dispatch就能成功安裝上,如果cpan安裝Params::ValidationCompiler時報錯,就單獨下載這個模塊的源碼包進行編譯安裝

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

9、執(zhí)行cpan Log::Log4perl安裝Log::Log4perl模塊、執(zhí)行cpan Net::ARP安裝Net::ARP模塊、執(zhí)行cpan Proc::Daemon安裝Proc::Daemon模塊

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

10、再來查看下所需perl模塊的安裝結(jié)果,這下已經(jīng)全部都裝好了

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

11、monitor服務器也對perl模塊有要求,如下圖:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

12、同樣是使用cpan安裝這些模塊,在此不再贅述。4臺mysql服務器和monitor服務器的perl模塊都安裝完成后,我們就可以來安裝配置MMM了


六、MySQL-MMM安裝配置

1、MMM對MySQL用戶的要求如下:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

2、由于本文未使用到MMM tools,因此只需創(chuàng)建前3個用戶,由于前面已經(jīng)做好了主從同步,因此只需要在mysql-master01上創(chuàng)建即可同步到另外3臺MySQL服務器

GRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'192.168.10.%' IDENTIFIED BY 'monitor'; 

GRANT SUPER,REPLICATION CLIENT,PROCESS ON *.* TO 'mmm_agent'@'192.168.10.%' IDENTIFIED BY'agent';

GRANT REPLICATION SLAVE ON *.* TO 'mmm_repl'@'192.168.10.%' IDENTIFIED BY'repl';

注:其實用戶mmm_repl可以不用建,因為前面我們配置主從同步時已經(jīng)建了一個repl用戶可供使用

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

3、使用以下語句檢查另外3臺MySQL服務器是否已同步了這3個用戶,可以看到都已經(jīng)有了

select user,host from mysql.user where user in ('mmm_monitor','mmm_agent','mmm_repl');

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

4、在4臺MySQL服務器和monitor服務器上編譯安裝MMM,下面以mysql-master01為例

[root@mysql-master01 ~]# tar -zxf mysql-mmm-2.2.1.tar.gz -C /usr/

[root@mysql-master01 ~]# cd /usr/mysql-mmm-2.2.1/

[root@mysql-master01 mysql-mmm-2.2.1]# make install

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

5、安裝完成后,所有的配置文件都放到了/etc/mysql-mmm/下面。monitor服務器和MySQL服務器上都要包含一個共同的文件mmm_common.conf,內(nèi)容如下:

[root@mysql-master01 mysql-mmm-2.2.1]# cat /etc/mysql-mmm/mmm_common.conf
active_master_role        writer
  
<host default>
cluster_interface                eth0
 
pid_path                                /var/run/mmm_agentd.pid
bin_path                                /usr/lib/mysql-mmm/
 
    replication_user        mmm_repl
    replication_password    repl
 
agent_user                            mmm_agent
agent_password                        agent
</host>
 
<host mysql-master01>
ip                                          192.168.10.81
mode                                        master
peer                                        mysql-master02
</host>
 
<host mysql-master02>
ip                                          192.168.10.82
mode                                        master
peer                                        mysql-master01
</host>
 
<host mysql-slave01>
ip                                          192.168.10.83
mode                                        slave
</host>
 
<host mysql-slave02>
        ip                                   192.168.10.84
        mode                                 slave
</host>
 
<role writer>
hosts                                        mysql-master01, mysql-master02
ips                                          192.168.10.91
mode                                        exclusive
</role>
 
<role reader>
hosts                                        mysql-slave01, mysql-slave02
ips                                          192.168.10.93, 192.168.10.94
mode                                        balanced
</role>
[root@mysql-master01 mysql-mmm-2.2.1]#

6、在mysql-master01上編輯好該文件后,通過scp傳輸?shù)搅硗?臺服務器

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

7、4臺MySQL服務器還有一個mmm_agent.conf文件需要修改主機名

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

8、在4臺MySQL服務器的 /etc/init.d/mysql-mmm-agent的腳本文件的#!/bin/sh下面,加入如下內(nèi)容 

source /root/.bash_profile,下面以mysql-master01為例

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

9、分別將4臺MySQL服務器的mmm_agent啟動腳本添加成系統(tǒng)服務并設置為自啟動,下面以mysql-master01為例

#chkconfig --add mysql-mmm-agent

#chkconfig mysql-mmm-agent on

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

10、分別將4臺MySQL服務器的mmm_agent啟動,如果前面的Perl模塊沒有裝好,可能會報錯啟動不了

/etc/init.d/mysql-mmm-agent start或service mysql-mmm-agent start

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

11、配置monitor服務器上的mmm_mon.conf文件

[root@mysql-monitor mysql-mmm]# cat/etc/mysql-mmm/mmm_mon.conf 
include
mmm_common.conf
 
<monitor>
        ip                  127.0.0.1
        pid_path               /var/run/mmm_mond.pid
        bin_path               /usr/lib/mysql-mmm/
        status_path              /var/lib/misc/mmm_mond.status
        ping_ips               192.168.10.81,192.168.10.82,192.168.10.83,192.168.10.84
</monitor>
 
<host default>
        monitor_user                  mmm_monitor
        monitor_password                monitor
</host>
 
<check default>
       check_period   5
       trap_period   10
       timeout       3
       max_backlog   86400
</check>
 
debug 0


MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

12、在monitor服務器的 /etc/init.d/mysql-mmm-monitor的腳本文件的#!/bin/sh下面,加入如下內(nèi)容 

source /root/.bash_profile

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

13、將mysql-mmm-monitor添加成系統(tǒng)服務并設置為自啟動

#chkconfig --add mysql-mmm-monitor

#chkconfigmysql-mmm-monitor on

14、啟動monitor服務器的mysql-mmm-monitor服務

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

15、在monitor服務器執(zhí)行命令列出客戶端狀態(tài),發(fā)現(xiàn)都是AWAITING狀態(tài)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

16、在monitor服務器執(zhí)行命令mmm_control set_online mysql-master01,將mysql-master01上線,過一會再看它就變成online狀態(tài)了

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

17、這時觀察mysql-master01的IP發(fā)現(xiàn)已經(jīng)成功添加了Write VIP

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

18、依次將mysql-master02和mysql-slave01以及mysql-slave02設置為online,查看slave的IP也發(fā)現(xiàn)Read VIP也加上了。MMM到此已配置完成,下面將進行高可用測試

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

七、MySQL-MMM主庫高可用測試

1、將mysql-master01的mysql服務停止,模擬主庫宕機,再查看IP會發(fā)現(xiàn)Write VIP已被自動移除

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

2、觀察monitor服務器上的日志可以發(fā)現(xiàn)MMM檢測到mysql-maste01故障并將Write VIP切換到了mysql-master02上

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

3、查看mysql-master02的IP,發(fā)現(xiàn)Write VIP確實已添加上了

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

4、這時兩臺slave之前配置的主庫已經(jīng)宕機并且主庫已切換,那它們是否會自動將Master Host也切換為mysql-master02呢?查看下它們的slave狀態(tài),發(fā)現(xiàn)已自動切換

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

5、在monitor服務器上查看下客戶端的狀態(tài),mysql-master01確實已離線,并且是能Ping通而mysql連接失敗

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

6、再次啟動master01的mysql服務,并設置為online,可以看到Write VIP并不會回切(除非當前的主庫再次宕機)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

7、觀察到monitor服務器的日志如下:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

8、再檢查下客戶端,已恢復正常

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)


八、MySQL-MMM從庫高可用測試

1、將mysql-slave01的mysql服務停止,模擬從庫宕機,再查看IP會發(fā)現(xiàn)其上的Read VIP已被自動移除

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

2、觀察到monitor服務器上的日志發(fā)現(xiàn)mysql-slave01的Read VIP已被切換到mysql-slave02上:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

3、在monitor服務器上查看客戶端狀態(tài),發(fā)現(xiàn)mysql-slave02確實綁定了2個Read VIP

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

4、檢查mysql-slave02的IP,確實如此

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

5、將mysql-slave01的mysql服務恢復啟動,并在monitor服務器將其設置為online,可以看到切換回去的Read VIP并不是最開始的那個VIP,Read VIP并非固定不變

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

6、觀察monitor服務器的日志內(nèi)容如下:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

7、兩個slave的IP信息現(xiàn)在如下:

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

MySQL 5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)

至此,MySQL-MMM讀寫分離的高可用架構(gòu)經(jīng)簡單測試均OK!以下是小結(jié):

1、若master01主節(jié)點宕機,由master02備選主節(jié)點接管寫角色,slave1,slave2指向新master2主庫進行復制,slave01,slave02會自動change master到master02。

2、若master01主節(jié)點宕機,而master02同步又落后于master01時就變成了主可寫狀態(tài),則這時的數(shù)據(jù)主無法保證一致性。

3、若master02,slave01,slave02延遲于master01主,而這個時master01宕機,slave01,slave02將會等待數(shù)據(jù)追上master01后,再重新指向新的主master02進行復制操作,這時的數(shù)據(jù)也無法保證同步的一致性。

4、對外提供讀寫的虛擬IP是由monitor程序控制。如果monitor沒有啟動那么db服務器不會被分配虛擬ip,但是如果已經(jīng)分配好了虛擬ip,當monitor程序關(guān)閉了,則原先分配的虛擬ip不會關(guān)閉,只要不重啟網(wǎng)絡,外部程序還可以連接訪問,這樣能對monitor的可靠性要求降低一些,但是如果這時其中的某一個db服務器故障了就無法處理切換。因為agent程序受monitor程序的控制,處理主庫切換、從庫切換等操作。如果monitor進程關(guān)閉了那么agent進程就起不到什么作用,它本身不能處理故障。

5、monitor程序負責監(jiān)控db服務器的狀態(tài),包括Mysql數(shù)據(jù)庫、服務器是否運行、復制線程是否正常、主從延時等,以及控制agent程序處理故障。因此monitor是這個高可用架構(gòu)中的核心角色,同時也是單點故障的風險點,應該能通過keepalived等方式將monitor也做成高可用,等以后有時間我再進行測試。

6、monitor監(jiān)控端的配置文件參數(shù)“auto_set_online”可以讓從故障中恢復的節(jié)點自動online,待有空測試下。群集中節(jié)點服務器的狀態(tài)有三種分別是:HARD_OFFLINE→AWAITING_RECOVERY→online

7、默認monitor會控制mmm_agent會將writer db服務器read_only修改為OFF,其它的db服務器read_only修改為ON,所以為了嚴謹可以在所有的服務器的my.cnf文件中加入read_only=1,由monitor控制writer和read,root用戶和復制用戶不受read_only參數(shù)的影響。

本文出自江健龍的技術(shù)博客,轉(zhuǎn)載請注明出處 https://blog.51cto.com/jiangjianlong/2073744

網(wǎng)站欄目:MySQL5.6通過MMM實現(xiàn)讀寫分離的高可用架構(gòu)
URL分享:http://chinadenli.net/article18/giesdp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃網(wǎng)頁設計公司搜索引擎優(yōu)化自適應網(wǎng)站網(wǎng)站設計公司網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設