MySQL: Packet for query is too large

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (6688561 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.

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

解决办法:

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

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

 

max_allowed_packet4194304
slave_max_allowed_packet1073741824

方法一、

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

[mysqld]

max_allowed_packet=20M

备注:默认情况下是没有上述的标记,有就修改,没有就添加

2. 重启mysql服务

3.在控制台查看是否修改成功,在命令控制台输入SQL:SHOW VARIABLES LIKE '%max_allowed_packet%';

显示:

max_allowed_packet104857600
slave_max_allowed_packet1073741824

5.修改成功,有效!

方法二、

遇到mysql 服务停掉后,有时候设置的max_allowed_packed 的没有用,需要使用SQL

set global max_allowed_packet = 10*1024*1024*10; 
设置成功了,重启。

在命令控制台输入SQL:SHOW VARIABLES LIKE '%max_allowed_packet%'查看;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值