mysql-3、mysql集群之半同步复制

9 篇文章 1 订阅


需要安装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%';

可以在主库和从库分别执行上述命令查看返回结果
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值