標籤:mysql半同步複製
實驗mysql藉助google提供的外掛程式,完成半同步複製模型;
物理機依然是win7系統,虛擬機器為centos7;
主節點:192.168.255.2
從節點:192.168.255.3
先配置為主從複製模型:
在主節點:
]# vim /etc/my.cnf
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/82/8B/wKiom1dYXaCh22GXAABMCtVpzw0430.png" title="1.png" alt="wKiom1dYXaCh22GXAABMCtVpzw0430.png" />
從節點:
]# vim /etc/my.cnf
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/82/89/wKioL1dYXurC-WVYAABEkkoeAts254.png" title="2.png" alt="wKioL1dYXurC-WVYAABEkkoeAts254.png" />
啟動兩節點的myslq服務:
]# systemctl start mariadb.service
在主節點:
配置有複製許可權的帳號:
> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘repluser‘@‘192.168.255.%‘ IDENTIFIED BY ‘replpass‘;
> FLUSH PRIVILEGES;
注意:如果從伺服器也打算建立這個有複製許可權的帳號,要先啟用主從設定後,再執行此命令:
查看二進位日誌事務的位置:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/82/89/wKioL1dYZtGAHkpoAAAgzfd8Jx4057.png" title="3.png" width="700" height="164" border="0" hspace="0" vspace="0" style="width:700px;height:164px;" alt="wKioL1dYZtGAHkpoAAAgzfd8Jx4057.png" />
在從節點:
設定同步位置:
> 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‘;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/82/8B/wKiom1dYZqqQdBK7AAEUE7v-DPA000.png" title="4.png" width="723" height="663" border="0" hspace="0" vspace="0" style="width:723px;height:663px;" alt="wKiom1dYZqqQdBK7AAEUE7v-DPA000.png" />
啟用為半同步的主節點:
> SET GLOBAL rpl_semi_sync_master_enabled=1;
從節點:
安裝從節點外掛程式:
> INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/82/89/wKioL1dYaLWymN4LAAESCvrUUTo303.png" title="5.png" width="727" height="679" border="0" hspace="0" vspace="0" style="width:727px;height:679px;" alt="wKioL1dYaLWymN4LAAESCvrUUTo303.png" />
啟用為半同步從節點
> SET GLOBAL rpl_semi_sync_slave_enabled=on;
啟動從節點同步:
> START SLAVE;
確保從節點的線程正常啟動:
650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/82/8B/wKiom1dYaUrByKGJAACcKqXI840626.png" title="6.png" alt="wKiom1dYaUrByKGJAACcKqXI840626.png" />
此時,mysql主從複製的半同步配置完成;可示範驗證;
在主節點:
建立新庫後並查看相關參數值:
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/82/8B/wKiom1dYcIzh-mrYAACKhB0IFqE078.png" title="7.png" alt="wKiom1dYcIzh-mrYAACKhB0IFqE078.png" />
其中Rpl_semi_sync_master_clients:對於當前主節點,有多少個半同步節點;值為1表示有一個半同步節點;
從節點查看:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/82/89/wKioL1dYdFeQ-ABiAABt0Oac6ek822.png" title="8.png" alt="wKioL1dYdFeQ-ABiAABt0Oac6ek822.png" />
以上示範的就是半同步複製的配置過程。
mysql主從複製中的半同步複製