
# 重命名DCS实例高危命令
Redis实例创建之后，支持修改部分高危命令，命令修改后，仅修改者知晓修改后的命令，其他用户执行原始命令时会被拦截报错，通过此方式可以限制高危命令的使用。
#### 约束与限制
- 仅Redis 4.0及以上版本的实例，支持命令重命名功能。
- 当前支持重命名的高危命令有command、keys、flushdb、flushall、hgetall、scan、hscan、sscan和zscan，Proxy集群实例还支持dbsize和dbstats命令重命名，其他命令暂时不支持。
- **单机、主备、Cluster集群实例进行命令重命名的过程中可能会自动重启实例，重启单机实例将会清空数据，请谨慎操作。** 详情请参考[重命名过程中是否会重启实例]。
- 重命名操作完成后立即生效。因为涉及安全性，页面不会显示重命名后的命令。如果忘记重命名后的命令，重新执行命令重命名即可。
- 实例支持多次执行重命名操作，每次新的重命名操作都会覆盖之前的重命名操作。（例如，命令command和keys重命名后，再增加重命名flushdb时，需要将命令command和keys一起重命名，否则命令command和keys会恢复原命令）。
- 命令不能重命名为除本命令外的其他原始命令，例如，keys命令可以命名为keys本身或非命令abc123，但不可以重命名为scan等其他原始命令。
- 重命名的命令必须以字母开头，长度范围为4\~64个字符，且只能包含字母、数字、中划线和下划线。
 
#### 重命名高危命令
1. 登录[分布式缓存服务管理控制台](https://console.huaweicloud.com/dcs)。
2. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001549115173.png)，选择实例所在的区域。
3. 单击左侧菜单栏的"缓存管理"。
4. 执行命令重命名有以下两种操作入口，您可以任选一种，操作结果相同。 
   操作方式一：
   1. 在缓存管理页面，单击需要进行命令重命名的缓存实例右侧"操作"列下的"更多 \> 命令重命名"。
   
   2. 在"命令重命名"对话框中，选择需要重命名的高危命令，并在"重命名"框中输入重命名名称，单击"确定"。 页面中的"重命名记录"会显示该命令是否已被重命名（"已修改"或"未修改"），已经修改过的命令也可以再次重命名。可以同时为多个命令进行重命名。
      图1命令重命名1   
      ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002529602757.png "点击放大")
      
      
   
   
   操作方式二：
   1. 在缓存管理页面，单击需要进行重命名命令的缓存实例名称，进入该实例的概览页面。
   
   2. 选择"实例配置 \> 命令重命名"。
   
   3. 单击需要重命名命令后的"修改"，在重命名输入框中输入重命名后的命令，单击"保存"。 也可以单击"批量重命名"，同时在多个重命名输入框中输入重命名后的命令，单击"保存"。
      命令被重命名后，重命名列会显示\*号，已经修改过的命令也可以再次重命名。
      图2命令重命名2   
      ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002529720149.png "点击放大") 
   
   
   
   
5. 在"命令重命名"对话框中，选择需要重命名的高危命令，并在"重命名"框中输入重命名名称，单击"确定"。 
   页面中的"重命名记录"会显示该命令是否已被重命名（"已修改"或"未修改"），已经修改过的命令也可以再次重命名。可以同时为多个命令进行重命名。
   图3命令重命名   
   ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002273474277.png "点击放大")
   
   
   
6. 命令重命名后，您可以在"后台任务"页面查看重命名的操作记录。 
   仅支持查看重命名操作记录，无法查看重命名后的命令，如果忘记重命名后的命令，可以重新执行重命名。
   图4命令重命名操作记录   
   ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002446798381.png "点击放大")
   
   
   
 
#### 执行重命名命令的结果
例如将flushall命令重命名后，连接实例并执行该命令时，Redis会返回错误提示：(error) ERR ERR unknown command \`flushall\`。
![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002268929514.png "点击放大")
 #### 重命名过程中是否会重启实例
- Proxy集群实例和读写分离实例命令重命名不会重启实例。
- 单机、主备、或Cluster集群实例在执行命令重命名时，如果操作窗口中提示"重命名的过程中会重启实例"（如[图5]所示），则重命名过程会重启实例，如果操作窗口中没有该提示，重命名过程中不会重启实例。
  ![](https://support.huaweicloud.com/usermanual-dcs/public_sys-resources/note_3.0-zh-cn.png)
  单机、主备、或Cluster集群实例重命名过程中是否重启实例，与实例的小版本有关，如果提示"重命名的过程中会重启实例"，建议您重命名前[升级实例小版本](https://support.huaweicloud.com/usermanual-dcs/dcs_03_0016.html)为最新版本，再执行命令重命名。
  图5命令重命名窗口   
  ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002529626601.png "点击放大") 
 
#### 相关文档
DCS支持通过API查询实例重命名的命令，具体操作请参见[查询实例重命名的命令](https://support.huaweicloud.com/api-dcs/ShowRenameCommands.html)。
