com.mysql.jdbc.PacketTooBigException:即使使用max_allowed_pa​​cket,即使查询包太大,查询包也太大了

时间:2017-04-10 16:03:40

标签: java mysql database jdbc rdbms

我在my.cnf中添加了以下内容

[mysqld]
max_allowed_packet=32M
[mysql]
max_allowed_packet=32M

我还在JDBC查询中添加了以下内容

jdbc:mysql://hostname:3306/databaseName?autoReconnect=true&characterEncoding=UTF-8&max_allowed_packet=33554432

但我仍然收到主题中提到的错误。

最诚挚的问候, Ramindu。

2 个答案:

答案 0 :(得分:1)

我有完全相同的问题。我将my.ini中的设置更改为512M。当我使用工作台并运行查询" SHOW VARIABLES LIKE' max_allowed_pa​​cket'"时,它给了我一个值536870912,但我仍然收到错误消息:

"com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (518,358 > 65,535). You can change this value on the server by setting the 'max_allowed_packet' variable.".

我使用的是MySQL连接器的6.0.6版本,这是Maven存储库中最新的版本。尝试了几个不同的版本后,似乎6.0.3打破了它,所以我现在使用的是6.0.2并且它工作正常!

我知道这个问题已经发布了一段时间,但也许其他人仍然面临这个问题。

答案 1 :(得分:0)

当我使用mysql-connector-java:6.0.6时,我也遇到了这个问题。移至5.1.45后,该问题尚未复制。