天天看點

mysql主從複制中的半同步複制

實驗mysql借助google提供的插件,完成半同步複制模型;

實體機依然是win7系統,虛拟機為centos7;

主節點:192.168.255.2

從節點:192.168.255.3

先配置為主從複制模型:

在主節點:

]# vim /etc/my.cnf

<a href="http://s5.51cto.com/wyfs02/M02/82/8B/wKiom1dYXaCh22GXAABMCtVpzw0430.png" target="_blank"></a>

從節點:

<a href="http://s1.51cto.com/wyfs02/M02/82/89/wKioL1dYXurC-WVYAABEkkoeAts254.png" target="_blank"></a>

啟動兩節點的myslq服務:

]# systemctl start mariadb.service

配置有複制權限的賬号:

&gt; GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.255.%' IDENTIFIED BY 'replpass';

&gt; FLUSH PRIVILEGES;

注意:如果從伺服器也打算建立這個有複制權限的賬号,要先啟用主從設定後,再執行此指令:

檢視二進制日志事務的位置:

<a href="http://s4.51cto.com/wyfs02/M00/82/89/wKioL1dYZtGAHkpoAAAgzfd8Jx4057.png" target="_blank"></a>

在從節點:

設定同步位置:

&gt; CHANGE MASTER TO MASTER_HOST='192.168.255.2',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000003',MASTER_LOG_POS=499;

主從複制配置完成;

分别在主從節點上安裝相應的插件:

&gt; INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

<a href="http://s3.51cto.com/wyfs02/M01/82/8B/wKiom1dYZqqQdBK7AAEUE7v-DPA000.png" target="_blank"></a>

啟用為半同步的主節點:

&gt; SET GLOBAL rpl_semi_sync_master_enabled=1;

安裝從節點插件:

&gt; INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

<a href="http://s5.51cto.com/wyfs02/M02/82/89/wKioL1dYaLWymN4LAAESCvrUUTo303.png" target="_blank"></a>

啟用為半同步從節點

&gt; SET GLOBAL rpl_semi_sync_slave_enabled=on;

啟動從節點同步:

&gt; START SLAVE;

確定從節點的線程正常啟動:

<a href="http://s1.51cto.com/wyfs02/M00/82/8B/wKiom1dYaUrByKGJAACcKqXI840626.png" target="_blank"></a>

此時,mysql主從複制的半同步配置完成;可示範驗證;

建立新庫後并檢視相關參數值:

<a href="http://s4.51cto.com/wyfs02/M01/82/8B/wKiom1dYcIzh-mrYAACKhB0IFqE078.png" target="_blank"></a>

其中Rpl_semi_sync_master_clients:對于目前主節點,有多少個半同步節點;值為1表示有一個半同步節點;

從節點檢視:

<a href="http://s3.51cto.com/wyfs02/M02/82/89/wKioL1dYdFeQ-ABiAABt0Oac6ek822.png" target="_blank"></a>

以上示範的就是半同步複制的配置過程。

本文轉自 crystaleone 51CTO部落格,原文連結:http://blog.51cto.com/linsj/1787601,如需轉載請自行聯系原作者

繼續閱讀