You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入Redis dump文件提示‘unknown command’失败,该如何解决?

解决Redis dump.rdb导入错误的方法

你用redis-cli -h localhost -p 6379 < dump.rdb导入失败的原因是:dump.rdb是Redis的二进制持久化文件,不能直接通过redis-cli的标准输入当作命令执行,redis-cli会把二进制内容解析成Redis命令,自然会报“未知命令”错误。

以下是两种正确的导入方式:

方式一:离线加载(推荐,稳定可靠)

  • 停止本地Redis服务:
    • 系统服务管理:sudo systemctl stop redis
    • Docker容器:docker stop <你的Redis容器名/ID>
  • 找到Redis的RDB存储目录:
    • 可在Redis运行时执行redis-cli CONFIG GET dir获取,默认路径比如/var/lib/redis(系统安装)或/data(Docker镜像)
  • 备份原有RDB文件:
    • 系统环境:cp /var/lib/redis/dump.rdb /var/lib/redis/dump.rdb.bak
    • Docker环境:先把容器内的文件复制出来备份:docker cp <容器ID>:/data/dump.rdb ./dump.rdb.bak
  • 替换RDB文件:
    • 系统环境:把从服务器获取的dump.rdb复制到存储目录:cp ./dump.rdb /var/lib/redis/,确保Redis进程对该文件有读写权限
    • Docker环境:把本地的dump.rdb复制到容器内:docker cp ./dump.rdb <容器ID>:/data/
  • 启动Redis服务:
    • 系统服务管理:sudo systemctl start redis
    • Docker容器:docker start <你的Redis容器名/ID>
      Redis启动后会自动加载目录下的dump.rdb文件

方式二:在线加载(无需停服务,生产环境谨慎使用)

  • 先确认本地Redis数据可覆盖(或提前备份),执行redis-cli FLUSHDB清空当前数据库(可选)
  • 执行redis-cli CONFIG GET dir获取Redis的工作目录,将dump.rdb上传到该目录
  • 执行调试命令触发加载:redis-cli DEBUG RELOAD

    注意:DEBUG RELOAD属于调试命令,执行时会阻塞Redis,大文件加载会影响服务可用性,生产环境需谨慎操作

内容的提问来源于stack exchange,提问作者zarathustra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:52:53