實驗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
配置有複制權限的賬号:
> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.255.%' IDENTIFIED BY 'replpass';
> FLUSH PRIVILEGES;
注意:如果從伺服器也打算建立這個有複制權限的賬号,要先啟用主從設定後,再執行此指令:
檢視二進制日志事務的位置:
<a href="http://s4.51cto.com/wyfs02/M00/82/89/wKioL1dYZtGAHkpoAAAgzfd8Jx4057.png" target="_blank"></a>
在從節點:
設定同步位置:
> 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;
主從複制配置完成;
分别在主從節點上安裝相應的插件:
> 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>
啟用為半同步的主節點:
> SET GLOBAL rpl_semi_sync_master_enabled=1;
安裝從節點插件:
> 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>
啟用為半同步從節點
> SET GLOBAL rpl_semi_sync_slave_enabled=on;
啟動從節點同步:
> 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,如需轉載請自行聯系原作者