Java插入mysql数据时报错exceptions.PacketTooBigException: Packet for query is too large

wylc123 1年前 ⋅ 1847 阅读

经过排查才知道在做查询数据库操作时,有可能才会报了以上错误,还有out of memery heap hacp ,原因是mysql的max_allowed_packet设置过小引起的,mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。

查看当前配置信息:show VARIABLES like '%max_allowed_packet%';

查询出来是1024   所以3009大小超过了1024    然后我们输入:set global max_allowed_packet = 2*1024*1024*10;  从而设置max_allowed_packet的大小   输入quit退出mysql   最后重启mysql服务器就好了    重启命令:service mysqld restart 

以上方法有时会实现    建议还是在mysql配置文件中进行修改      修改命令为:vim /etc/my.cnf      在配置文件加入 max_allowed_packet=64M   如下图 然后重启   命令为:service mysqld restart

windows下修改

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

文件里的max_allowed_packet值,修改之后重启mysql服务

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: