max_allowed_packet引起同步报错处理

   一台MySQL的Cat数据库,每天早上1点定期删除,有4个表,删除完后,这4个表都有blob字段,很大量,部署删除job就同步报错。

 

Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the start event position from 
'mysql-bin.006730' at 290066246, the last event was read from

   一开始把主从库的max_allowed_packet 设置到最大1G,重启后第二天还是同步报错。而且主库的binlog文件,从1点开始文件很大有4G,也有5G的,虽然我配置了binlog文件最大800M,但怎么会到最大4G,查询

了配置,MySQL官方的说法是正常是最大800M,但是如果单个事务的日志很大,会记录当前的日志到binlog文件,这个不会受800M的限制,

   后来决定把删除4个表的job改成2个,一个是1点删除,另一个改成2点删除, 后面再观察下来同步未出现问题

 

  总结:

     1,对应大表(有blob字段)的删除,最好是分开多次删除

posted @ 2018-06-21 14:47  zping  阅读(1036)  评论(0编辑  收藏  举报