今天生产环境上从库出现SQL进程停止的异常,错误信息如下:

 Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1864
Last_Error: Cannot schedule event Write_rows, relay-log name ./mysql-relay-bin.001304, position 416228895 to Worker thread because its size 16777357 exceeds 16777216 of slave_pending_jobs_size_max.

从报错信息可以看出,是因为slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小。经查看,slave_pending_jobs_size_max的大小设置的是默认值16777216(即16M),小于16777357。

异常处理步骤如下:

1.查看主库max_allowed_packet的大小;

mysql> show variables like 'max_allowed_packet';  -- 134217728 即128M
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| max_allowed_packet | 134217728 |
+--------------------+-----------+

2. 设置从库slave_pending_jobs_size_max的大小,注意,需要大于主库max_allowed_packet的大小

mysql> stop  slave;
Query OK, 0 rows affected (0.01 sec) mysql> set global slave_pending_jobs_size_max=157286400;
Query OK, 0 rows affected (0.00 sec) mysql> start slave;
Query OK, 0 rows affected (0.05 sec)

3.处理完毕检查一下主从同步情况

mysql> show slave status\G

Tips:

slave_pending_jobs_size_max的用途:
在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意这个值要比主库的max_allowed_packet大
 

耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我

最新文章

  1. javascript的正则表达式学习
  2. Python面向对象详解
  3. 第七章 springboot + retrofit
  4. igv
  5. 移动App双周版本迭代实战--转载备用
  6. C#操作Excel(读/写)
  7. Ball HDU - 4811
  8. 后端分布式系列:分布式存储-HDFS DataNode 设计实现解析
  9. Github 错误合集:Failed connect to github.com:8080 || Failed connect to github.com:443; No error
  10. 豆瓣top250(go版以及python版)
  11. Loda Button
  12. MySQL数据库导入或者同步大量数据时数据丢失解决方案
  13. linux下socket connect 阻塞方式 阻塞时间控制
  14. python学习笔记----random
  15. solr7.3.1在CentOS7上的安装
  16. python查看对象用法
  17. android -------- 压缩图片文件工具类
  18. JavaScript按IP地址排序
  19. functional program language
  20. yii基础控制器安全验证

热门文章

  1. Android分享图文到朋友圈代码。
  2. 三、安装远程工具xshell,使用SFTP传输文件——Linux学习笔记
  3. 云计算之概念——IaaS、SaaS、PaaS、Daas
  4. Oracle使用超大SQL脚本文件恢复数据问题记录
  5. 【Leetcode】【Medium】Unique Paths II
  6. QA-IDEA中用maven配置项目无法加载JDBC
  7. yii2.0中url重写实现方法
  8. 使用with子句优化代码中重复查询
  9. <!--注释-->和<%--注释--%>有什么区别
  10. 二、基于事件的异步编程模式(EAP)