编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

mysql的max_allowed_packet参数

wxchong 2025-01-20 17:10:41 开源技术 91 ℃ 0 评论

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表