目录
需要安装semi模块
一、主库
安装插件,设置参数
1、准备工作
-- 查看是否支持动态加载
select @@have_dynamic_loading;
-- 查看已安装的插件,若缺少相关插件,则需要安装
show plugins;
2、安装插件
## soname 'semisync_master.so'是设置名称为semisync_master.so
install plugin rpl_semi_sync_master soname 'semisync_master.so';
3、查询相关参数
可以对参数进行修改
show variables like '%semi%';
- rpl_semi_sync_master_enabled :功能是否开启
- rpl_semi_sync_master_timeout :超时时间(毫秒)
set global rpl_semi_sync_master_enabled=1;
set global rpl_semi_sync_master_timeout=1000;
二、从库
1、准备工作
-- 查看是否支持动态加载
select @@have_dynamic_loading;
-- 查看已安装的插件,若缺少相关插件,则需要安装
show plugins;
2、安装插件
## soname 'semisync_master.so'是设置名称为semisync_master.so
install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
3、查询相关参数
可以对参数进行修改
show variables like '%semi%';
set global rpl_semi_sync_slave_enabled=1;
4、重启slave
stop slave;
start slave;
三、测试
此时,在主库插入一条记录,在从库也是可以查询到的
但是看不出来本次的半同步复制配置是否生效。想知道是否生效,可以通过查看日志的方式。
四、说明
1、MySQL主从复制结构下,如何判定是异步复制还是半同步复制?
方式一:查看主库的mysqld.log日志
详见第三部的截图
/var/log/mysqld.log
方式二:命令查看相关服务配置
show global status like '%Rpl_semi%';
可以在主库和从库分别执行上述命令查看返回结果