您的位置:首页 > 产品设计 > UI/UE

MySQL Packet for query is too large

2016-02-29 09:14 183 查看
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$$EnhancerByProxool$$5159dcd0.executeQuery(<generated>)

at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:441)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)

... 52 more

原因: 查询出的数据包过大,默认情况下mysql 的字段容量不够装,所以抛出此异常

解决办法:

1.首先在控制台查询一下:SHOW VARIABLES LIKE '%max_allowed_packet%';

默认情况下,最大允许数据包的容量是1M ,需要修改更大一点。20M

2.到mysql 的安装目录下找到 my.ini 文件中,新增

[mysqld]

max_allowed_packet=20M

备注:默认情况下是没有上述的标记,有就修改,没有就添加
3. 重启mysql服务

4.在控制台查看是否修改成功,在命令控制台输入: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

5.修改成功,有效!
后续:
遇到mysql 服务停掉后,有时候设置的max_allowed_packed 的没有用,需要使用
set global max_allowed_packet = 2*1024*1024*10;
设置成功了,以后重启也没事。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: