1. 程式人生 > >MySQL 5.6 搭建半同步復制

MySQL 5.6 搭建半同步復制

semisync 功能 thread sta mysql star like oca glob

確定是否可以動態安裝插件

show variables like ‘%have_dynamic_loading%‘;
ls /usr/local/mysql-5.6.38-linux-glibc2.12-x86_64/lib/plugin/semisync_*
/usr/local/mysql-5.6.38-linux-glibc2.12-x86_64/lib/plugin/semisync_master.so
/usr/local/mysql-5.6.38-linux-glibc2.12-x86_64/lib/plugin/semisync_slave.so

安裝軟件:

install plugin rpl_semi_sync_master SONAME ‘semisync_master.so‘;
set global rpl_semi_sync_master_timeout=60000;

install plugin rpl_semi_sync_slave SONAME ‘semisync_slave.so‘;
select * from mysql.plugin;

開啟功能
主庫

set global rpl_semi_sync_master_enabled=on;

從庫

set global rpl_semi_sync_slave_enabled=on;
stop slave io_thread;start slave;

主庫:

show status like ‘%semi%‘;

從庫io_thread正常情況下,復制延遲對於半同步沒影響。

配置文件增加選項:

rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=60000

rpl_semi_sync_slave_enabled=1

註意:
1.去掉半同步復制,半同步復制會造成一些語句不適用,影響主從進程。
2.主庫不要打開rpl_semi_sync_slave_enabled,從庫不要打開rpl_semi_sync_master_enabled,要正確使用對應的角色參數。

MySQL 5.6 搭建半同步復制