MySQL Packet for query is too large 问题及解决方案
2017-01-17 16:49
726 查看
问题描述:
报错信息:
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server
by setting the max_allowed_packet' variable
MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。
查看 max_allowed_packet 参数:
在客户端执行:
show VARIABLES like '%max_allowed_packet%';
得到结果如下:
+--------------------+------------+
| Variable_name | Value |
+--------------------+-------------------+
| max_allowed_packet | 1024 |
+--------------------+-------------------+
修改方法:
1、修改配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
如果找不到my.cnf可以通过
去寻找my.cnf文件。
linux下该文件在/etc/下。
2、在mysql命令行中修改
set global max_allowed_packet = 2*1024*1024*10 //这里的数值为字节数,这里改为20M,需要重新登陆客户端起作用
注:在客户端用命令修改后,只能暂时起作用,重新启动MYSQL后,会恢复原来的值。
报错信息:
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server
by setting the max_allowed_packet' variable
MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。
查看 max_allowed_packet 参数:
在客户端执行:
show VARIABLES like '%max_allowed_packet%';
得到结果如下:
+--------------------+------------+
| Variable_name | Value |
+--------------------+-------------------+
| max_allowed_packet | 1024 |
+--------------------+-------------------+
修改方法:
1、修改配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
linux下该文件在/etc/下。
2、在mysql命令行中修改
set global max_allowed_packet = 2*1024*1024*10 //这里的数值为字节数,这里改为20M,需要重新登陆客户端起作用
注:在客户端用命令修改后,只能暂时起作用,重新启动MYSQL后,会恢复原来的值。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 解决mysql 开启logbin 导致存储过程报错
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志