mysql报错:max_allowed_packet

发布时间 2023-08-29 17:58:59作者: lytcreate

报错信息:

Caused by: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (7,110,074 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable.

  

问题原因:

查询的query语句超过了长度限制

 

解决方法:

临时方法,数据库重启后会失效,在mysql控制端执行:set global max_allowed_packet = 1*1024*1024*10;  使用 show VARIABLES like '%max_allowed_packet%'; 查看Value值,默认4M,修改为20M

长期方法:修改mysql配置文件,linux下一般在/etc/my.ini,增加 max_allowed_packet = 20M  然后重启数据库

 

重点提示:修改后,可能执行程序时还会报错,大概率是因为数据库连接需要重新建立,重启项目或者重新连接数据库即可!