java - com.mysql.jdbc.PacketTooBigException : Packet for query is too large even with Packet for query is too large even with max_allowed_packet

标签 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

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

最好的问候, 拉敏杜。

最佳答案

我遇到了完全相同的问题。我将 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.".

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

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

关于java - com.mysql.jdbc.PacketTooBigException : Packet for query is too large even with Packet for query is too large even with max_allowed_packet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43327964/

相关文章:

java - 使用 AngularJS 和 Spring Boot 的 Websocket

php - Cakephp 3 : Set virtual property with condition on belongsToMany association

php - 我想从一个 php 文件中获取包含 mysql 查询的变量,并编写将在另一个 php 文件中打印查询内容的循环

特定数据库或用户的mysql一般查询日志?

java - 如何解决android.database.sqlite.SQLiteException : no such column: ttd (code 1)

php - 在 php 和 mysql 中创建登录页面

mysql - 在第一个表的字段或第二个表的字段中使用 WHERE 进行左连接

java - 创建了多少个对象,包括 String 对象

java - 打开联系人后如何直接调用电话

java - 将变量标记为 final 如何允许内部类访问它们?