Got a packet bigger than 'max_allowed_packet' bytes 报错处理

参考文章:https://blog.csdn.net/superit401/article/details/77480078


max_allowed_packet 针对的是一个事务中的一行记录大小,当一行记录超过了限制的大小,将会报错。sql文件中每次insert完进同一张表的所有数据被称为一个数据包(packet)max_allowed_packet就是来限制这个的大小的阈值,大于这个值,mysql的I/O连接会关闭,就会报这个错。


SQL导出insert时有两种处理方式:一次insert一行,锁时间短,批量插入效率低下;一次insert多行,批量插入锁时间长,效率高。

当一次insert多行时,很容易触发标题报错,临时处理办法:

mysql>set global max_allowed_packet = 1024*1024*160;


永久生效,调整配置文件/etc/my.cnf

[mysqld]
max_allowed_packet=500M


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页