MySQL max_allowed_packet设置及问题
2015-12-28 09:11
423 查看
mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
查看目前配置
show VARIABLES like '%max_allowed_packet%';
显示的结果为:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+
以上说明目前的配置是:1M
修改方法
如果找不到my.cnf可以通过
去寻找my.cnf文件。
进入mysql server
在mysql 命令行中运行
然后关闭掉这此mysql server链接,再进入。
查看下max_allowed_packet是否编辑成功
经验总结:
在很多台机器上用方法一都没问题,但2011年11月14日遇到一台机器死活都不成功,
使用命令行方式:set global max_allowed_packet = 16M;
也不行,但使用
有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
查看目前配置
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数据库修改密码
- mysql 1040错误Too many connections的方法
- MySql重置密码
- mysql实现rownum
- 在hibernate启动的时候报了个错: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
- 在hibernate启动的时候报了个错: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
- 解决mysql不能通过'/tmp/mysql.sock 连接的问题
- MySQL 5.6 for Windows 解压缩版配置安装
- MySQL将表a中查询的数据插入到表b中
- 设置mysql的主从复制
- elasticsearch从mysql导入数据
- elasticsearch从mysql导入数据
- mysql数据库索引
- MySQL服务健康检查脚本
- mysql单表大小
- [实战]MVC5+EF6+MySql企业网盘实战(22)——图片列表
- Mysql学习历程(一)
- mysql——1103提示
- mysql之各种命令总结
- 干货:MySQL数据库优化参考