欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决 com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large

程序员文章站 2022-04-04 20:26:00
...

前景概要

测试插入批量数据发送的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_pa​​cket”变量在服务器上更改此值。

解决方法

修改MYSQL数据目录下my.ini(一般安装的时候要指定程序目录数据目录)
max_allowed_pa​​cket默认是4M
解决 com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large

相关标签: Spring Data JPA