温馨提示×

centos redis数据恢复步骤是什么

小樊
31
2025-12-23 08:48:48
栏目: 云计算

CentOS Redis 数据恢复步骤

一 准备与定位

  • 确认 Redis 数据目录与持久化方式:
    • 查看数据目录:在 redis-cli 执行:CONFIG GET dir(常见为 /var/lib/redis
    • 查看是否启用 AOF:执行:CONFIG GET appendonly;或检查数据目录是否存在 .aof 文件
    • 确认 RDB 文件名:执行:CONFIG GET dbfilename(默认 dump.rdb
  • 如为带认证的实例,先获取密码或在命令中使用 -a 参数;恢复前建议先做一次手动快照(可选):BGSAVESAVE(注意 SAVE 会阻塞)。

二 使用 RDB 快照恢复(最常用)

  • 停止 Redis:systemctl stop redis
  • 备份现有数据文件:mv /var/lib/redis/dump.rdb /var/lib/redis/dump.rdb.bak
  • 拷贝备份的 RDB 到数据目录:cp -p /path/to/backup/dump.rdb /var/lib/redis/
  • 修正属主属组与权限:chown redis:redis /var/lib/redis/dump.rdb && chmod 660 /var/lib/redis/dump.rdb
  • 如实例开启了 AOF,恢复 RDB 时应暂时关闭 AOF,避免被 AOF 重放覆盖:
    • 方式一(推荐,临时生效):redis-cli config set appendonly no
    • 方式二(修改配置):编辑 /etc/redis/redis.conf,将 appendonly 设为 no,保存
  • 启动 Redis:systemctl start redis
  • 登录验证:redis-cli pingDBSIZEKEYS *(或业务侧抽样校验)。

三 使用 AOF 文件恢复

  • 停止 Redis:systemctl stop redis
  • 备份现有 AOF(如有):mv /var/lib/redis/appendonly.aof /var/lib/redis/appendonly.aof.bak
  • 拷贝备份的 AOF 到数据目录:cp -p /path/to/backup/appendonly.aof /var/lib/redis/
  • 修正权限:chown redis:redis /var/lib/redis/appendonly.aof && chmod 660 /var/lib/redis/appendonly.aof
  • 确保配置以 AOF 优先:redis-cli config set appendonly yes(若之前关闭)
  • 启动 Redis:systemctl start redis
  • 如 AOF 文件损坏,可用修复工具:/usr/local/bin/redis-check-aof --fix /var/lib/redis/appendonly.aof,再启动。

四 常见坑与校验

  • 同时存在 AOF 与 RDB 时,Redis 默认优先从 AOF 恢复,可能导致你拷贝的 RDB 不生效;需要按上文在恢复阶段临时关闭 AOF,待数据从 RDB 加载完成后再开启 AOF 并持久化配置。
  • 权限与属主:数据文件必须属于 redis:redis,权限建议 660,否则可能无法加载或启动报错。
  • 配置一致性:确认 dirdbfilename 指向正确的目录与文件名,避免加载错文件。
  • 集群场景:上述步骤适用于单实例;Redis Cluster 的恢复需按分片逐节点操作,并考虑 cluster-config-file 与复制槽位一致性,不建议直接替换 RDB/AOF 文件。

0