mysql报错:max_allowed_packet
报错信息:
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 然后重启数据库
重点提示:修改后,可能执行程序时还会报错,大概率是因为数据库连接需要重新建立,重启项目或者重新连接数据库即可!