网站建设知识
MySQL5.6 半同步复制,保证数据库一致性
2025-07-22 11:12  点击:0

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