MySQL max_allowed_packet设置及问题
2016-07-01 00:00
344 查看
摘要:mysql根据配置文件会限制server接受的数据包大小
mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会被max_allowed_packet参数限制掉,导致失败。
查看目前配置
showVARIABLESlike'%max_allowed_packet%';
显示的结果为:
+--------------------+---------+|Variable_name|Value|+--------------------+---------+|max_allowed_packet|1048576|+--------------------+---------+
以上说明目前的配置是:1M
修改方法
max_allowed_packet=20M
如果找不到my.cnf可以通过
mysql--help|grepmy.cnf
去寻找my.cnf文件。
进入mysqlserver
在mysql命令行中运行
setglobalmax_allowed_packet=2*1024*1024*10
然后关闭掉这此mysqlserver链接,再进入。
showVARIABLESlike'%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功
经验总结:
在很多台机器上用方法一都没问题,但2011年11月14日遇到一台机器死活都不成功,
使用命令行方式:setglobalmax_allowed_packet=16M;
也不行,但使用
setglobalmax_allowed_packet=2*1024*1024*10;
成功了,很是郁闷
问题终于找出来了,不是方法的问题,是设置完成后要把命令行退出重新登录查看,看来系统变量的值在登录后会缓存。但在这台机器上使用配置INI文件的方式就是不行,具体原因还没找到。
mysql根据配置文件会限制server接受的数据包大小。
有时候大的插入和更新会被max_allowed_packet参数限制掉,导致失败。
查看目前配置
showVARIABLESlike'%max_allowed_packet%';
显示的结果为:
+--------------------+---------+|Variable_name|Value|+--------------------+---------+|max_allowed_packet|1048576|+--------------------+---------+
以上说明目前的配置是:1M
修改方法
1)方法1
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。如果找不到my.cnf可以通过
去寻找my.cnf文件。
2)方法2
(很妥协,很纠结的办法)进入mysqlserver
在mysql命令行中运行
然后关闭掉这此mysqlserver链接,再进入。
查看下max_allowed_packet是否编辑成功
经验总结:
在很多台机器上用方法一都没问题,但2011年11月14日遇到一台机器死活都不成功,
使用命令行方式:setglobalmax_allowed_packet=16M;
也不行,但使用
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复