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


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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试