微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mysql集群及高可用-延迟复制6

系列文章目录

MysqL集群及高可用-sql线程的优化-延迟复制6


一、MysqL集群-延迟复制

官方文档

延迟复制优点

1.在主库上面误操作,比如延迟30min,你还可以在slave端做数据回滚

2.一旦使用主从复制延迟是必然存在的,前面的操作是不断优化,减少延迟,延迟多少时间会对业务造成影响,可以使用延迟复制进行测试(设置延迟,不断提高延迟,测试对业务的影响)


二、MysqL集群-延迟复制配置

server3:

server3作为延迟的slave
设置30s延迟,认单位是s

在这里插入图片描述


在这里插入图片描述


查看slave的状态show slave status\G;
两个yes没问题

在这里插入图片描述


2.1测试,出现客户端出现卡顿,排查Io线程错误

server1:

客户端等待状态这个和io线程有关
调整的是sql线程,是sql回放延迟30s,与延迟复制无关

在这里插入图片描述


所以检查io线程,前面设置的是半同步

show status like 'rpl%';

在这里插入图片描述


因为刚才server3重启了(上文配置 relay_log_recovery参数)


server3:

原因:之前配置sync半同步的时候设置的参数是临时的set global,重启server3数据库服务后之前的半同步不存在了

所以你参数要写入/etc/my.cnf要不然重启后相应的参数就没有了

重启io(stop slave;start slave;这样也行)

在这里插入图片描述

再次查看状态rpl_semi_sync_slave_ebabled ON

server1:

在这里插入图片描述

恢复正常,继续测试延迟复制


2.2继续测试延迟复制

没设置主键多个user9,无所谓

在这里插入图片描述

server3:

查看slave的状态show slave status\G;

达到30s才会运行

在这里插入图片描述


延迟30s以后开始执行

在这里插入图片描述


server2:

查看slave的状态show slave status\G;

在这里插入图片描述

server3:

30s后执行完成

在这里插入图片描述


在这里插入图片描述

数据同步完成

在这里插入图片描述


END

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐