mysql max_allowed_packet 设置过小导致记录写入失败

原地址:点击打开链接

mysql根据配置文件会限制server接受的数据包大小。

有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。

查看目前配置

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+  

以上说明目前的配置是:1M

修改方法

1、修改配置文件永久生效

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet = 2G
2、不想永久生效, 临时修改配置,即 在数据库查询中 执行

SET GLOBAL max_allowed_packet=10000000000;
SET GLOBAL net_buffer_length=10000000;
SET GLOBAL interactive_timeout=2880000000;
SET GLOBAL wait_timeout=2880000000;

猜你喜欢

转载自blog.csdn.net/qq_32709167/article/details/79032348