前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql5中Packet for query is too large (3396053 > 1048576),数据量太大解决方案

Mysql5中Packet for query is too large (3396053 > 1048576),数据量太大解决方案

作者头像
手撕代码八百里
发布2020-07-28 16:28:35
6790
发布2020-07-28 16:28:35
举报
文章被收录于专栏:猿计划猿计划

情况出现情景:

在SpringBoot+mybatis+mysql5.5的环境上进行查询数据,要查询(通过很多编号进行查询,一个编号有5-12位不等的编号)的数据太多。

报错如下:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
### 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.

分析错误:

重要的提示:

代码语言:javascript
复制
 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命令行

输入命令

代码语言:javascript
复制
set @@max_allowed_packet=16*1024*1024
在这里插入图片描述
在这里插入图片描述

报错了,说:变量’max_allowed_packet’是只读的。使用SET GLOBAL分配值

解决方案:

代码语言:javascript
复制
SET GLOBAL max_allowed_packet=16*1024*1024
在这里插入图片描述
在这里插入图片描述

成功了。

第一种办法不行,就用第二种。第二种不行就用第一种。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 情况出现情景:
    • 报错如下:
      • 分析错误:
        • 打开mysql命令行
        • 输入命令
    相关产品与服务
    云数据库 SQL Server
    腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档