前景概要
测试插入批量数据发送的sql语句太大。
//INSERT INTO `stress_test_table`(`id`, `name`, `age`, `sex`, `email`) VALUES
//(NULL, 'name', age, sex, 'email'),
....
.......
//(NULL, 'name', age, sex, 'email');
报错如下
com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (100,758,000 > 4,194,304). You can change this value on the server by setting the 'max_allowed_packet' variable.
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:107)
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:764)
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)
at com.domoyun.mybatis_plus.StressTest.batch(StressTest.java:189)
at com.domoyun.mybatis_plus.StressTest.main(StressTest.java:93)
com.mysql.cj.jdbc.exceptions.PacketTooBigException:查询数据包太大(100,758,000> 4,194,304)。您可以通过设置“ max_allowed_packet”变量在服务器上更改此值。
解决方法
修改MYSQL数据目录下my.ini(一般安装的时候要指定程序目录和数据目录)
max_allowed_packet默认是4M

本文详细解析了在使用MySQL进行批量数据插入时遇到的数据包过大错误(PacketTooBigException),并提供了具体的解决方案,包括如何通过修改my.ini文件中的'max_allowed_packet'变量来增加数据包大小限制。

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



