系列文章目录
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 举报,一经查实,本站将立刻删除。