Mysql5中Packet for query is too large (3396053 > 1048576),数据量太大解决方案
时间:2022-07-22
本文章向大家介绍Mysql5中Packet for query is too large (3396053 > 1048576),数据量太大解决方案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
情况出现情景:
在SpringBoot+mybatis+mysql5.5的环境上进行查询数据,要查询(通过很多编号进行查询,一个编号有5-12位不等的编号)的数据太多。
报错如下:
### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3396053 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
; SQL []; Packet for query is too large (3396053 > 1048576). 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 (3396053 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.] with root cause
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3396053 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
分析错误:
重要的提示:
Packet for query is too large (3396053 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
大概意思是: 用于查询的包太大,您可以通过设置’max_allowed_packet’变量来更改服务器上的这个值。
通过网上查资料了解到,mysql默认加载的数据文件不超过1M。只能通过修改配置文件来解决。
那么’max_allowed_packet’变量是哪里的呢?
答案: mysql中的
打开mysql命令行
输入命令
set @@max_allowed_packet=16*1024*1024
报错了,说:变量’max_allowed_packet’是只读的。使用SET GLOBAL分配值
解决方案:
SET GLOBAL max_allowed_packet=16*1024*1024
成功了。
第一种办法不行,就用第二种。第二种不行就用第一种。
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解