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

前景概要

测试插入批量数据发送的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_第1张图片

你可能感兴趣的:(Spring,Data,JPA)