MySQL Packet for query is too large 问题及解决方法
作者:dqsweet 时间:2024-01-29 07:55:52
问题描述:
报错信息:
Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1354 > 1024). You can change this value on the server
by setting the max_allowed_packet' variable
MySQL根据配置文件会限制Server接受的数据包大小。有时候插入、更新或查询时数据包的大小,会受 max_allowed_packet 参数限制,导致操作失败。
查看 max_allowed_packet 参数:
在客户端执行:
show VARIABLES like '%max_allowed_packet%';
得到结果如下:
+--------------------+------------+
| Variable_name | Value |
+--------------------+-------------------+
| max_allowed_packet | 1024 |
+--------------------+-------------------+
修改方法:
1、修改配置文件
可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 20M
如果找不到my.cnf可以通过
mysql --help | grep my.cnf
去寻找my.cnf文件。
linux下该文件在/etc/下。
2、在mysql命令行中修改
set global max_allowed_packet = 2*1024*1024*10
//这里的数值为字节数,这里改为20M,需要重新登陆客户端起作用
注:在客户端用命令修改后,只能暂时起作用,重新启动MYSQL后,会恢复原来的值。
Linux下mysql 报Packet for query is too large (1040 > 1024)错误的解决方法
项目之前一直正常运行,这几天突然一直提示查询出错,看了下日志发现提示Packet for query is too large (1040 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.错误。百度了解决方法,记录下解决过程。
1.原因
查询数据库返回的数据包太大,超过了默认值。
登录mysql,在控制台输入一下命令查询默认的max_allowed_packet值,发现只有1024
show VARIABLES like '%max_allowed_packet%';
2.修改默认最大允许包大小
2.1方式一:命令方式
(1).在mysql控制台下输入以下命令,设置max_allowed_packet为20M
set global max_allowed_packet = 20*1024*1024;
(2).退出mysql,重启mysql服务,再登录myql中查询max_allowed_packet是否修改成功
show VARIABLES like '%max_allowed_packet%';
2.2方式二:修改配置文件my.cnf方式
(1).mysql控制台下输入以下命令,编辑my.cnf
sudo vi /etc/mysql/my.cnf
(2).在[mysqId]下面添加
max_allowed_packet = 20M
2.2退出编辑模式,重启mysql,步骤如2.1的(2)所示
3.注
配置完查询max_allowed_packet发现是16777216,实际上是16*1024*1024,并不是期望的20M,于是又查了下,可能是服务器内存容量不够,因为java就占了很多,所以mysql可能会自动重设参数。所以某些情况下可能是你当时更改完max_allowed_packet参数,过一段时间mysql自动重设参数变为默认的1024,又出现了同样的错误。
来源:https://blog.csdn.net/dqsweet/article/details/54584470
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python爬虫谷歌Chrome F12抓包过程原理解析
![](https://img.aspxhome.com/file/2023/1/128621_0s.png)
Python ORM框架SQLAlchemy学习笔记之关系映射实例
利用python批量给云主机配置安全组的方法教程
python和pyqt实现360的CLable控件
整理的比较全的一句话后门代码(方面大家查找后门)
类型为search的input及相关属性
![](https://img.aspxhome.com/file/UploadPic/20092/11/safari-input-type-search-83s.jpg)
python调用pymssql包操作SqlServer数据库的实现
![](https://img.aspxhome.com/file/2023/6/95136_0s.png)
利用Vscode进行Python开发环境配置的步骤
![](https://img.aspxhome.com/file/2023/3/123493_0s.jpg)
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
HTML的优化杂记
VMware中linux环境下oracle安装图文教程(一)
![](https://img.aspxhome.com/file/2023/6/65656_0s.jpg)
MySQL DDL执行方式Online DDL详解
![](https://img.aspxhome.com/file/2023/6/128086_0s.png)
直接生成XML的Google SiteMap的asp代码
Python Pyecharts绘制桑基图分析用户行为路径
![](https://img.aspxhome.com/file/2023/7/79527_0s.jpg)
Python数据结构dict常用操作代码实例
解决pycharm运行时interpreter为空的问题
![](https://img.aspxhome.com/file/2023/4/103354_0s.jpg)
python实现通过代理服务器访问远程url的方法
mysql慢查询的分析方法
Python Celery动态添加定时任务生产实践指南
![](https://img.aspxhome.com/file/2023/0/130650_0s.jpg)