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

标签:MySQL,Packet,too,large
0
投稿

猜你喜欢

  • Python爬虫谷歌Chrome F12抓包过程原理解析

    2022-01-01 15:33:15
  • Python ORM框架SQLAlchemy学习笔记之关系映射实例

    2022-06-22 23:39:04
  • 利用python批量给云主机配置安全组的方法教程

    2022-03-09 11:45:09
  • python和pyqt实现360的CLable控件

    2021-07-19 13:31:11
  • 整理的比较全的一句话后门代码(方面大家查找后门)

    2023-06-17 18:30:29
  • 类型为search的input及相关属性

    2009-02-11 12:49:00
  • python调用pymssql包操作SqlServer数据库的实现

    2024-01-13 19:40:08
  • 利用Vscode进行Python开发环境配置的步骤

    2023-04-18 09:06:46
  • 浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置

    2021-10-05 06:50:08
  • HTML的优化杂记

    2010-03-10 10:39:00
  • VMware中linux环境下oracle安装图文教程(一)

    2024-01-28 07:10:36
  • MySQL DDL执行方式Online DDL详解

    2024-01-25 00:00:56
  • 直接生成XML的Google SiteMap的asp代码

    2007-08-17 13:44:00
  • Python Pyecharts绘制桑基图分析用户行为路径

    2022-06-07 02:47:57
  • Python数据结构dict常用操作代码实例

    2022-05-13 02:16:43
  • 解决pycharm运行时interpreter为空的问题

    2022-04-01 22:56:39
  • python实现通过代理服务器访问远程url的方法

    2023-03-14 00:47:38
  • mysql慢查询的分析方法

    2010-08-03 14:51:00
  • Python Celery动态添加定时任务生产实践指南

    2023-06-29 16:57:12
  • xhtml+css VS div+css

    2008-04-07 13:00:00
  • asp之家 网络编程 m.aspxhome.com