MySQL5.6 半同步复制,保证数据库一致性,半同步复制需要使用插件,主从节点都需要安装插件。插件安装完之后 ,配置系统变量就可以启用和关闭半同步复制功能。
1.半同步实施前提
数据库版本为 5.5以上
have_dynamic_loadingsystem variable 为 YES.
复制已经正常运行。
2.安装插件
主节点INSTALLPLUGINrpl_semi_sync_masterSONAME'semisync_master.so';从节点INSTALLPLUGINrpl_semi_sync_slaveSONAME'semisync_slave.so';
3.查看是否安装成功
showplugins;显示类似说明安装成功|rpl_semi_sync_master|ACTIVE|REPLICATION|semisync_master.so|GPL||rpl_semi_sync_slave|ACTIVE|REPLICATION|semisync_slave.so|GPL|mysql>showvariableslike'%semi%';+--------------------------------------------------------+-------+|Variable_name|Value|+---------------------------------------------------------+-------+|rpl_semi_sync_master_enabled|OFF||rpl_semi_sync_master_timeout|10000||rpl_semi_sync_master_trace_level|32||rpl_semi_sync_master_wait_no_slave|ON||rpl_semi_sync_slave_enabled|OFF||rpl_semi_sync_slave_trace_level|32|+---------------------------------------------------------+-------+6rowsinset(0.00sec)
4.启用半同步
主节点启用半同步,超时时间为10S
SETGLOBALrpl_semi_sync_master_enabled=1;SETGLOBALrpl_semi_sync_master_timeout=10000;
从节点启用半同步,重启复制线程生效SETGLOBALrpl_semi_sync_slave_enabled=1;STOPSLAVEIO_THREAD;STARTSLAVEIO_THREAD;
5.确认半同步生效
showglobalstatuslike'rpl%';
6.持久化参数
Onthemaster:[mysqld]rpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=1000#1secondOneachslave:[mysqld]rpl_semi_sync_slave_enabled=1