Mysql 5.5 在windows 或linux下修改max_allowed_packet参数

[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 参数限制掉,导致失败,通过设置参数可以解决此问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值