Mysql You can change this value on the server by setting the max_allowed_packet' variable. 异常(示例
Posted 26个字符的天堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql You can change this value on the server by setting the max_allowed_packet' variable. 异常(示例相关的知识,希望对你有一定的参考价值。
MySQL根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
查看目前配置, Windows 系统 配置文件为 my.ini, max 系统 配置文件为 my.cnf
此处使用本地数据库操作:
cmd 进入mysql bin 目录 --》
登录本地 --》
mysql -u root -p --》
登录密码 --》
show VARIABLES like ‘%max_allowed_packet%‘;
显示的结果为:
+----------------------------+------------+
| Variable_name | Value |
+----------------------------+-----------+
| max_allowed_packet | 1048576|
+----------------------------+-----------+
以上说明目前的配置是:1M
修改方法
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是否编辑成功
经验总结:
在很多台机器上用方法一都没问题,但2011年11月14日遇到一台机器死活都不成功,
使用命令行方式:set global max_allowed_packet = 16M;
也不行,但使用
set global max_allowed_packet = 2*1024*1024*10;
成功了,很是郁闷
问题终于找出来了,不是方法的问题,是设置完成后要把命令行退出重新登录查看,看来系统变量的值在登录后会缓存。但在这台机器上使用配置INI文件的方式就是不行,具体原因还没找到。
以上是关于Mysql You can change this value on the server by setting the max_allowed_packet' variable. 异常(示例的主要内容,如果未能解决你的问题,请参考以下文章
问题解决:mysql: Commands out of sync; you can‘t run this command now
leetcode1432. Max Difference You Can Get From Changing an Integer
leetcode1432. Max Difference You Can Get From Changing an Integer
Git的commit your changes or stash them before you can merge
Git冲突:commit your changes or stash them before you can merge.
Git冲突:commit your changes or stash them before you can merge.