通过DMS登录Redis实例提示“Packet for query is too large”错误

本文为您介绍当通过DMS登录数据库时,出现“Packet for query is too large (xxx > xxx). You can change this value on the server by setting the max_allowed_packet variable.”报错的原因及解决方案。

问题原因

数据库查询返回的数据包大小超过MySQL中max_allowed_packet参数值。该参数5.6之前默认值:1M,5.6之后默认值:4M,不要使用默认值。

说明
  • MySQL 5.6之前的版本中该参数默认值为1MB,MySQL 5.6之后的版本中该参数默认值为4MB。

  • 请勿使用默认值。

解决方法

说明

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

在数据库中,执行以下SQL语句,将max_allowed_packet参数值调大。

set global max_allowed_packet=134217728;
说明

使用DMS时,推荐max_allowed_packet参数值为128MB。

适用于

  • 数据管理DMS

  • 云数据库 Tair(兼容 Redis)