Packet for query is too large (4467936 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 【10月更文挑战第15天】解决Packet for query is too large (4467936 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable

Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4467936 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.
; Packet for query is too large (4467936 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4467936 > 4194304). You can change this value on the server by setting the max_allowed_packet' variable.
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:110) ~[spring-jdbc-5.2.9.RELEASE.jar!/:5.2.9.RELEASE]

解决:
错误信息 com.mysql.jdbc.PacketTooBigException: Packet for query is too large 表示你的 MySQL 查询生成了一个大于 max_allowed_packet 设置值的数据包。max_allowed_packet 是 MySQL 服务器可以处理的最大数据包大小,如果查询结果或要发送给服务器的数据超过了这个大小,就会出现这个异常。

要解决这个问题,你需要增加 MySQL 服务器上的 max_allowed_packet 配置值。以下是如何进行调整的步骤:

编辑 MySQL 配置文件:
找到 MySQL 的配置文件,通常名为 my.cnf 或 my.ini,位于 /etc/mysql/(Linux)或 MySQL 安装目录下(Windows)。

增加 max_allowed_packet 设置:
在 [mysqld] 部分添加或修改 max_allowed_packet 设置。例如,要将其设置为 64MB,可以添加以下行:

[mysqld]
max_allowed_packet = 67108864
这里使用的是字节为单位,64MB 等于 67108864 字节。

重启 MySQL 服务:
保存配置文件后,重启 MySQL 服务以使更改生效。在 Linux 上,你可以使用以下命令之一:

bash
sudo systemctl restart mysql
或者

bash
sudo service mysql restart
取决于你的系统和 MySQL 版本。

检查更改:
登录到 MySQL 服务器并检查新的设置:

sql
SHOW VARIABLES LIKE 'max_allowed_packet';
重新运行查询:
更改 max_allowed_packet 设置后,尝试重新运行之前失败的查询。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
132 0
|
7月前
|
关系型数据库 MySQL
Packet for query is too large (4,544,730 > 4,194,304). You can change this value on the server by se
Packet for query is too large (4,544,730 > 4,194,304). You can change this value on the server by se
252 0
|
关系型数据库 MySQL 数据库
mysql下的max_allowed_packet参数设置
mysql下的max_allowed_packet参数设置
1119 0
|
7月前
|
SQL 关系型数据库 MySQL
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
55 0
|
SQL 关系型数据库 MySQL
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
392 0
postgre分页查询报错:ERROR: LIMIT #,# syntax is not supported 建议:Use separate LIMIT and OFFSET clauses
|
关系型数据库 MySQL Linux
MySQL:Got a packet bigger than ‘max_allowed_packet‘ bytes
我们往MySQL导入数据的时候,当数据量过大的时候,就会报错,这是因为允许的最大数据超出了我们的默认设置,所以我们需要修改MySQL的默认设置
197 0
MySQL:Got a packet bigger than ‘max_allowed_packet‘ bytes
|
C语言
[Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode 解决方法
[Error] ‘for’ loop initial declarations are only allowed in C99 or C11 mode [Note] use option -std=c99,-std=gnu99,-std=c11 or-std=gnu11 to compile your code
1524 0
[Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode 解决方法
|
缓存 关系型数据库 MySQL
mysql数据库导入报错:Got a packet bigger than‘max_allowed_packet’bytes解决方案
mysql数据库导入报错:Got a packet bigger than‘max_allowed_packet’bytes解决方案
282 0
mysql数据库导入报错:Got a packet bigger than‘max_allowed_packet’bytes解决方案
|
SQL 关系型数据库 MySQL
mysql的 max_allowed_packet 和 max_connections
mysql的 max_allowed_packet 和 max_connections
295 0
|
关系型数据库 MySQL
MySQL - Packet for query is too large (4,544,730 > 4,194,304). You can change this value on the …
MySQL - Packet for query is too large (4,544,730 > 4,194,304). You can change this value on the …
398 0