[org.hibernate.engine.jdbc.spi.SqlExceptionHelper]-[WARN] SQL Error:
0, SQLState: S1000
[org.hibernate.engine.jdbc.spi.SqlExceptionHelper]-[ERROR] Packet
for query
is too large (
1641 >
1024). You can change this value
on the server
by setting
the max_allowed_packet' variable.
org.hibernate.exception.GenericJDBCException: could
not extract ResultSet
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:
54)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:
126)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:
112)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:
89)
在windows下进行修改
在windows下C:\ProgramData\MySQL\MySQL Server 5.5\my.ini找到my.ini文件,如果看不到此文件可使用搜索功能进行查找选中上述文件夹中的文件进行修改命令行进入mysql 执行show variables like ‘%max_allowed_packet% 默认值为1M+——————–+———+ | Variable_name | Value | +——————–+———+ | max_allowed_packet | 1048576 | +——————–+———+把 max_allowed_packet=16M,加到此文件中[mysqld]后,重启mysql命令行进入mysql后通过命令show variables like ‘%max_allowed_packet%’;查看是否生效。mysql> show variables like ‘%max_allowed_packet%’; 执行后发现值变化为修改成功 +————————–+————+ | Variable_name | Value | +————————–+————+ | max_allowed_packet | 16777216 | | slave_max_allowed_packet | 1073741824 | +————————–+————+
在linux下进行修改
可以编辑my.cnf来修改,在[mysqld]段或者mysql的server配置段进行修改,max_allowed_packet = 20M 如果找不到my.cnf可以通过,mysql –help | grep my.cnf去寻找my.cnf文件,修改过后重启mysql,通过命令查看是否成功
错误原因解析:MySQL根据配置文件会限制server接受的数据包大小,有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败,通过设置参数可以解决此问题
转载请注明原文地址: https://ju.6miu.com/read-677489.html