报错信息
Caused by: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,937 > 2,048). You can change this value on the server by setting the ‘max_allowed_packet’ variable.
情景复现
最近使用mac正在运行一个nacos的springcloud项目,突然卡住了,强制关机之后开机,重新启动nacos,发现服务一直访问不了,也排除了端口冲突的问题,第一时间看日志排查问题:
看上去好像是线上数据库的问题,nacos中的yml文件配置都在线上的数据库中,上网寻找解决方案,发现是在做查询数据库操作时,有可能才会报了以上错误,原因是mysql的max_allowed_packet设置过小引起的,因此上到线上环境中去,连接数据库:
mysql -uroot -p
- 查看配置信息:
show VARIABLES like '%max_allowed_packet%';
发现真的是“max_allowed_packet”配置的value太小了,因此将它设置大即可
set global max_allowed_packet = 2*1024*1024*10;
设置成功,quit退出mysql重启mysql服务即可:
service mysqld restart
- 正常访问nacos
总结
出现问题有日志第一时间看日志!!!