您的位置:首页 > 产品设计 > UI/UE

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命令行中执行
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐