控制台错误提示:ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper -Packet for query is too large (1313 > 1024). You can change this value on the server by setting the max_allowed_packet’ variable.
错误原因:由于MySQL配置文件里的一个系统参数:max_allowed_packet其默认值为1048576(1M),因此,数据量过大的插入或者更新会受到max_allowed_packet参数的限制,导致写入或者更新失败。
如何查看MySQL当前max_allowed_packet参数的数值:
第一种方法:由于我使用的是windows系统,因此,找到MySQL的安装目录,打开其中的my.ini文件(linux系统下为my.cnf),搜索找到“max_allowed_packet = 1M”这句话,有可能没有,需要自己添加。找到后将1M改为20M,保存配置文件,然后通过windows系统的服务功能restart MySQL服务即可解决。
第二种方法:通过navicat数据库管理工具来查看修改。
通过查询的方式,键入“show VARIABLES like ‘%max_allowed_packet%’”这段脚本,然后执行,就可以看到。然后修改Value属性值为20M保存,然后重启MySQL服务即可解决。
这里需要注意的是,20M必须写成字节的形式,20M=20971520。
Packet for query is too large (xxxx > xxxx)
最新推荐文章于 2023-03-13 14:32:34 发布
当遇到MySQL错误'Packet for query is too large...'时,问题源自'max_allowed_packet'参数限制。可以通过两种方式解决:修改MySQL配置文件my.ini(或my.cnf)将1M改为20M并重启服务,或使用Navicat查询'max_allowed_packet'变量,将其值设置为20971520字节后重启服务。

4032

被折叠的 条评论
为什么被折叠?



