com.mysql.jdbc.PacketTooBigException:查询包太大(8548> 1024)

时间:2017-01-25 06:39:31

标签: java mysql

我尝试从我的java代码中插入mysql DB中的数据时,间歇性地发现错误。

“PreparedStatementCallback; SQL [];用于查询的数据包太大(8548> 1024)。您可以通过设置max_allowed_pa​​cket'变量来更改服务器上的此值。嵌套异常是com.mysql.jdbc.PacketTooBigException:用于查询的数据包太大(8548> 1024)。您可以通过设置max_allowed_pa​​cket'变量来更改服务器上的此值。“

my.inf文件看起来像这样

“#一个数据包或任何生成或中间字符串的最大大小,或者由...发送的任何参数 “#mysql_stmt_send_long_data()C API函数。 max_allowed_pa​​cket的= 500M“

一旦我重新启动mysql服务器,它工作正常,没有错误。但几天之后又出现了同样的错误。

任何人都可以帮我解决此错误吗?

1 个答案:

答案 0 :(得分:0)

似乎至少类似于(拒绝)bug report #76816 at MySQL bug database

建议确保max_allowed_packet设置不会从其他地方更改。他们提供有关如何使用MySQL日志记录查找设置的更改/更改的建议。引用:

  

[...]   我们怀疑,因为最大允许数据包是动态的   变量,可以全局更改,以便一些用户/脚本(连接   字符串某处重置此值)正在内部更改它   可能是您要启用日志记录(在MySQL和/或应用程序级别)   并尝试确定改变的方式和方式。

     

请参阅此页面了解各种日志记录详情 -   https://dev.mysql.com/doc/refman/5.5/en/server-logs.html

相关问题