mysql 中 max_allowed_packet 查询和修改
mysql 会根据配置文件限制 server 接收的数据包的大小。
有时候大的插入和更新会被 max_allowed_packet 参数限制,报如下错误:
Packet for query is too large (6090 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
我们可以这样查看当前配置:
show VARIABLES like '%max_allowed_packet%';
结果:
我这个值是修改后的,实际上我这边默认是 1024 ,也就是1K大小。
修改方法:
1) 方法1
可以编辑 my.cnf 来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
2) 方法2
(很妥协,很纠结的办法)
进入mysql server
在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后关闭掉这此mysql server链接,再进入。
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功