通过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
  • 云数据库Redis