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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值