linux mysql max_allowed_packet_mysql max_allowed_packet 参数的设置

mysql中不是所有长度的sql语句都会成功的处理,有时候会根据配置文件的max_allowed_packet值限制server接受的数据包大小。

有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。

该值设置过小将导致单个记录超过限制后写入数据库失败,且后续记录写入也将失败。

mysql where 中的in 中参数的个数就受到max_allowed_packet 的限制。

max_allowed_packet参数的默认值是1M

修改max_allowed_packet参数的方法

1) 方法1

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

参数的最大值是1GB

max_allowed_packet = 10M

linux下如果找不到my.cnf可以通过下面命令查找

mysql –help | grep 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是否编辑成功

参考资料

http://stackoverflow.com/questions/8062496/how-to-change-max-allowed-packet-size

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet

http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值