参考文章: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