欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 解决MySQL的PacketTooBigException异常问题

解决MySQL的PacketTooBigException异常问题

2025/5/2 6:13:04 来源:https://blog.csdn.net/qq_15752347/article/details/141498464  浏览:    关键词:解决MySQL的PacketTooBigException异常问题

一、背景

在大数据量导入mysql的时候,提示错误Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large

原因是MySQL的max_allowed_packet设置最大允许接收的数据包过小引起的,默认的max_allowed_packet如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认1M,有的版本默认4M。
mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败

二、解决方法

持久化修改

我们直接修改配置文件,然后重启MySQL就可以了。windows是在mysql的安装目录下的my.ini文件里。增加以下命令。linux也是一样,但是配置文件是在my.cnf

max_allowed_packet = 200M

在这里插入图片描述

  • windows重启mysql命令,需要用命令行运行
net stop mysql
net start mysql
  • linux重启mysql
systemctl restart mysql

临时修改

注意:在mysql命令行中暂时修改,重新启动MYSQL后,会恢复原来的值。这里的数值为字节数,这里改为200M,需要重新登陆客户端起作用

set global max_allowed_packet = 2*1024*1024*100

测试

打开mysql,输入下面代码测试配置是否生效

show variables like '%max_allowed_packet%';

在这里插入图片描述
修改生效后,重新运行程序,程序正常执行不再报此异常

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词