出现原因
本来今天插入程序好好的,突然给我抛个异常
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (4,867 > 1,024). You can change this value on the server by setting the 'max_allowed_packet' variable.
在网上查了下,是说mysql的JDBC连接限制了最大包长度1024B,即1KB,超过1KB,就会抛这个异常,你自己看上面的提示(4,867 > 1,024)
我这已经是4kb多了,所以才会抛。
解决办法
解决这个问题一共有2种办法:
第一种:
在数据库中执行下面命令
set global max_allowed_packet = 2*1024*10
这里设置的是最大字节,如果还是不够用,就把数字在调大点,执行完即可看到效果。
第二种:
网上传言还有种方法可使用。修改mysql.cnf(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20K
这种需要重启Mysql数据库才能看到效果哦。