前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL 参数调整实践之slave_pending_jobs_size_max篇

MySQL 参数调整实践之slave_pending_jobs_size_max篇

作者头像
July
发布2019-08-08 09:36:15
1.8K0
发布2019-08-08 09:36:15
举报
文章被收录于专栏:数据库干货铺

MySQL 的各参数的值设置需根据操作系统硬件情况,操作系统参数情况及数据库其他参数情况而进行调整,本文将结合生成环境的异常情况介绍MySQL slave_pending_jobs_size_max参数调整实践。

1. 异常描述

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

代码语言:javascript
复制
             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.
代码语言:javascript
复制
从报错信息可以看出,是因为slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小。经查看,slave_pending_jobs_size_max的大小设置的是默认值16777216(即16M),小于16777357。

2. 异常处理步骤如下

1)查看主库max_allowed_packet的大小

代码语言:javascript
复制
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的大小

代码语言:javascript
复制
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) 处理完毕检查一下主从同步情况

代码语言:javascript
复制
mysql> show slave status\G
代码语言:javascript
复制
Tips:slave_pending_jobs_size_max的用途:在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意这个值要比主库的max_allowed_packet大
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库干货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档