Packet for query is too large
2017-06-25 20:53
281 查看
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (1,100 > 1,024). You can change this value on the server by setting the ‘max_allowed_packet’ variable.
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:100)
报这种错误时候,是因为mysql的max_allowed_packet值太小,导致当数据量大时候,会出错。
设置办法:
1.在mysql命令行中执行
将看到其max_allowed_packet值
将max_allowed_packet设置为5M
备注:我使用安装包形式直接安装的,ubuntu14.04环境,使用的mysql5.7.18,默认的max_allowed_packet值是1024。在项目部署之前,考虑这一点,以避免测试用例不足时候,实际运行中发生这种错误。
还有一点需要注意:修改了值之后,退出当前session重新登录(或者关闭mysql客户端再次打开登录),才会看到值修改后的变化。
select version();查看mysql版本
2.修改mysql配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql –help | grep my.cnf
去寻找my.cnf文件。
[这种暂时没有尝试]
主要参考
http://blog.csdn.net/loseinworld/article/details/6856261
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:100)
报这种错误时候,是因为mysql的max_allowed_packet值太小,导致当数据量大时候,会出错。
设置办法:
1.在mysql命令行中执行
show VARIABLES like '%max_allowed_packet%';
将看到其max_allowed_packet值
将max_allowed_packet设置为5M
set global max_allowed_packet =1024*1024*5
备注:我使用安装包形式直接安装的,ubuntu14.04环境,使用的mysql5.7.18,默认的max_allowed_packet值是1024。在项目部署之前,考虑这一点,以避免测试用例不足时候,实际运行中发生这种错误。
还有一点需要注意:修改了值之后,退出当前session重新登录(或者关闭mysql客户端再次打开登录),才会看到值修改后的变化。
select version();查看mysql版本
2.修改mysql配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql –help | grep my.cnf
去寻找my.cnf文件。
[这种暂时没有尝试]
主要参考
http://blog.csdn.net/loseinworld/article/details/6856261
相关文章推荐
- Packet for query is too large(mysql写入数据过大)
- Packet for query is too large
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- PacketTooBigException: Packet for query is too large
- MYSQL Packet for query is too large
- 【问题解决:Mysql操作容量限制问题】Error updating database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1082 > 1024)
- nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1109 > 1024
- 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)问题
- Packet for query is too large
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4232009 > 4194304).
- Packet for query is too large(mysql写入数据过大)
- (mysql)Packet for query is too large
- Packet for query is too large (1166 > 1024). You can change this value
- Mysql数据中Packet for query is too large错误的解决方法
- MySQL5中大数据错误:Packet for query is too large (****** > ******). You can change this value on the server by setting the max_allowed_packet' variable.;
- Packet for query is too large (1032 > 1024). You can change this value on the server by setting the
- Packet for query is too large
- Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (144900 > 1024)
- mysql5.5异常: java.sql.SQLException: Packet for query is too large (1055975 > 1048576).
- Packet for query is too large (41477246 > 167772). 数据库写入数据过大