延迟的情况主要分为两种
1、所有从库均有延迟
1.1 大事务
查看当前卡住的SQL
查看表结构,发现无主键
联系业务,可以加速追延迟,如果一段时间没有追上,只能在主库上备份(备份时间需要和业务商量),重置从库
2、单个从库有延迟
2.1 备份与SQL死锁
处理:将备份任务kill掉
2.2 Relay log write failure: could not queue event from master
① 报错信息:
# 查看复制状态
show slave status\G
② 报错原因:
事务造成了mysql复制心跳包异常,导致MySQL复制失败
③ 处理:重建复制
# 登录延迟从库
stop slave;
reset slave all;
#手工重建复制:不加心跳检查
change master to master_host='172.25.152.17',master_user='universe_op',master_password='B318yK$5lu@1U5rR',master_port=4520,master_auto_position=1;
# 启动复制
start slave;
④ 开启实例高可用
补充: 如何查看universe_op的密码?
/v4/mysql-groups/
2.3 Relay log read failure: Could not parse relay log event entry
查看复制状态
show slave status\G
处理:
# 停复制
stop slave;
# 删除旧的relay log文件,生成新的,保留基本的复制信息
reset slave;
# 启动复制
start slave;
查看复制状态
2.4 error connecting to master 'universe_op@172.25.142.62:3306' - retry-time: 60
解决:重启复制
# 停复制
stop slave;
# 启动复制
start slave;
2.5 Errno:1317 Query execution was interrupted
解决方式
# 启动复制
start slave;
2.6 Errno:1114 Coordinator stoped because there were error(s) in the worker(s)...
解决方式:
关闭高可用并停止复制,重启数据库,开启实例高可用