com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16783330 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable.
这个异常的原因是:查询出的数据包过大,默认情况下mysql 的字段容量不够装,所以抛出了此异常。
解决方法:
- 方法1(永久)
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
- 方法2(临时)
进入mysql server
在mysql 命令行中运行
set global max_allowed_packet = 2*1024*1024*10
然后关闭掉这此mysql server链接,再进入。
show VARIABLES like '%max_allowed_packet%';
查看下max_allowed_packet是否编辑成功。
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16783330 > 1048576)包太大异常处理
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16783330 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable.这个异常的原因是:查询出的数据包过大,默认情...