Mysql数据库问题汇总一

本文介绍了如何解决MySQL中出现的PacketTooBigException错误。主要通过调整max_allowed_packet参数来增大允许的数据包大小,提供了两种解决方案:一是修改my.ini文件中的配置并重启MySQL服务;二是通过命令行设置max_allowed_packet值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)问题

mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。

解决方案一:
MySQL的一个系统参数:max_allowed_packet,其默认值为1048576(1M),
查询:show VARIABLES like '%max_allowed_packet%';
修改此变量的值:
MySQL安装目录下的
my.ini文件中的[mysqld]段中的"max_allowed_packet = 1M",(可能有些文件会没有这一行的)
格式为:
[mysqld]
max_allowed_packet = 1M ( 将1M更改为16M(如果没有这行内容,增加一行)),
保存,重起MySQL服务。
现在可以load大于1M的文件了
不重启mysql使my.cnf生效,命令行下配置like 'max_allowed_packet'

方案二:不重启mysql使my.cnf生效,命令行下配置like 'max_allowed_packet=16M' (1.6*1024*1024*10)
在命令行里输入  set global max_allowed_packet=1677716;
然后,关闭连接,查看下修改过来了没有     show VARIABLES like '%max_allowed_packet%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值