Administrator
发布于 2024-07-11 / 40 阅读
0
0

MySQL报错-Packet-for-query-is-too-large

最近公司的阿里云服务器快要到期了,由于阿里云上的这个项目在公司属于"鸡骨头"类型的项目,所以公司就安排让我来做迁移,迁移到公司自己的服务器上,由于我本身是做移动开发(Android iOS),所以迁移确实会有一些问题发生,这篇博客记录的就是其中一个错误,是在Tomcat的命令行中显示的 Packet for query is too large(1110 > 1024) …

报错截图如下:

后来查询了一些前人的资料,原因说是MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。

所以解决方法是先在数据库服务器上进入到MySQL的命令操作界面输入

   show VARIABLES like '%max_allowed_packet%';  

这里可以看到max_allowed_packet字段里的值只有4M多,当然有些版本的数据库只有1024K,就更小了,然后我们修改这个值,那么修改为多少呢?于是我跑到阿里云的数据库中查询了一下,得出的结果是

有没有吓一跳?难怪这个项目在上面运行这么久没问题,那么我们也修改一下,于是找到新的数据库服务器的数据库安装目录,找到my.ini配置文件,进行配置

重启MySQL服务,然后最后再重启下项目,应该就解决了,但是我不知道这是不是终极方案,且看后面事态发展,虽让自己是个小菜鸟呢?


评论