mysql提示Packet for query is too large (1142 > 1024)解决方案
来源:互联网 发布:知乎怎么发问题 编辑:程序博客网 时间:2024/06/15 06:44
一、日志报错
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3227 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3178)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1917)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100)
at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:57)
at $java.sql.Statement
二、产生原因
查询出的数据包过大,默认情况下MySQL 的字段容量不够装,所以抛出此异常
三、解决办法
在控制台查询一下:SHOW VARIABLES LIKE '%max_allowed_packet%';
默认情况下,最大允许数据包的容量是1M ,需要修改更大一点,比如20M
有下面两种修改方法:
1、修改配置文件
到mysql 的安装目录下找到 my.ini 文件中,新增
[mysqld]
max_allowed_packet=20M
备注:默认情况下是没有上述的标记,有就修改,没有就添加
2、在MySQL修改配置信息
在MySQL的访问台。
查看目前配置show VARIABLES like '%max_allowed_packet%'; //默认为1M改为更大的值:set global max_allowed_packet = 2*1024*1024*10;
四、查看是否修改成功
在控制台查看是否修改成功,在命令控制台输入:SHOW VARIABLES LIKE '%max_allowed_packet%';
显示:
mysql> SHOW VARIABLES LIKE '%max_allowed_packet%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 20971520 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set
修改成功,有效!
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- mysql中Packet for query is too large的解决方案
- MySQL Packet for query is too large 问题及解决方案
- MYSQL Packet for query is too large
- MYSQL Packet for query is too large
- MySQL Packet for query is too large
- Packet for query is too large (mysql)
- Packet for query is too large (30697 > 1024)解决方案
- Mysql异常Packet for query is too large (14040 > 1024)
- Packet for query is too large(mysql写入数据过大)
- Packet for query is too large(mysql写入数据过大)
- Packet for query is too large(mysql写入数据过大)
- Packet for query is too large(mysql写入数据过大
- 解决MySql Error: Packet for query is too large... 问题
- Packet for query is too large(mysql)解决
- ios开发: 按钮定时器方法封装
- 转载-<div>并排显示实例
- 什么是堡垒机?
- 页面跳转传参:参数过长(cookie,url , AngularJs controller 传参实现)
- java实现算术表达式(+、-、*、/、%、!、^、||、sin、cos、tan、cot、lg、ln等)
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- pyhotn3入门基础-8切片
- MongoDB Dao层复杂查询、更新方法实现
- 16.java语言基础-获取数组最大和最小元素
- shiro注解权限控制-5个权限注解
- eclipse远程debug
- C语言格式符%d与%D的区别
- 使用spring boot admin监控spring cloud应用程序
- 材料科学+网卡=下一代网卡