
max_allowed_packet是什么?
mysql服务器端和客户端在一次传送数据包的过程当中最大允许的数据包大小。
默认值值可能是1M或者4M,比如是4M的情况下,这个值的大小即为:4 *1024*1024= 4194304
大的插入和更新会受到max_allowed_packet 参数限制
当日志中出现了诸如:“Packet for query is too large (20682943>1048576). You can change this value on the server by setting the max_allowed_packet’ variable.”的提示的时候,错误的本身就清楚地提示了对应的方式。
当前配置
mysql> select @@max_allowed_packet;
+----------------------+
| @@max_allowed_packet |
+----------------------+
| 4194304 |
+----------------------+
1 row in set (0.00 sec)
mysql>
或者
mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)
mysql>
解决
方法1:SET命令修改
set global max_allowed_packet = 102410141024;
最大为1G,最小为1K
方法2:修改配置文件my.ini,重启服务。
[mysqld]
...
max_allowed_packet = 512M
...
参考文章:
https://blog.csdn.net/liumiaocn/article/details/82762693
https://blog.csdn.net/yuchenai/article/details/111470453
https://www.jianshu.com/p/441129d60fa7
声明:本站资源来自会员发布以及互联网公开收集,不代表本站立场,仅限学习交流使用,请遵循相关法律法规,请在下载后24小时内删除。 如有侵权争议、不妥之处请联系本站删除处理! 请用户仔细辨认内容的真实性,避免上当受骗!