mysql slave_pending_jobs_size_max_Mysql 1864 主从错误解决方法

fbee15dd967f5b588761a5ec0cc0d7ef.png

从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为17085453(17M);

解决方案

从库执行如下SQL

mysql>stop slave;

mysql>set global slave_pending_jobs_size_max=20000000;

mysql> start slave;

#在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意

这个值要比主库的max_allowed_packet大

故障模拟:

从库设置

mysql> set global slave_parallel_workers=4;

mysql> show variables like 'slave_parallel_workers';

+------------------------+-------+

| Variable_name | Value |

+------------------------+-------+

|slave_parallel_workers | 4 |

+------------------------+-------+

1 row in set (0.00sec)

mysql>set global slave_pending_jobs_size_max=1024;

mysql> show variables like 'slave_pend%';

+-----------------------------+-------+

| Variable_name | Value |

+-----------------------------+-------+

|slave_pending_jobs_size_max | 1024 |

+-----------------------------+-------+

1 row in set (0.00sec)

主库操作:

mysql> update erp_mkpf set usnam='测试1864错误';

ERROR 1197 (HY000):Multi-statement transaction required more than 'max_binlog_cache_size' bytes ofstorage; increase this mysqld variable and try again

mysql> set global max_binlog_cache_size=8388608000000;

Query OK, 0 rowsaffected (0.00 sec)

mysql> begin;

Query OK, 0 rowsaffected (0.00 sec)

mysql> update erp_mkpf set usnam='测试1864错误';

Query OK, 70466 rowsaffected (0.38 sec)

Rows matched:70466 Changed: 70466 Warnings: 0

mysql> commit;

Query OK, 0 rowsaffected (0.08 sec)

从库查看状态:

mysql> show slavestatus\G

Last_SQL_Errno: 1864

Last_SQL_Error: Cannot scheduleevent Update_rows, relay-log name ./HE1-relay-bin.000005, position 494 toWorker thread because its size 8200 exceeds 1024 ofslave_pending_jobs_size_max.

以上所述是小编给大家介绍的Mysql 1864 主从错误解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值