mysql复制延迟

103 阅读1分钟

延迟的情况主要分为两种


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)...

解决方式:

关闭高可用并停止复制,重启数据库,开启实例高可用