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字段)的删除,最好是分开多次删除