温馨提示×

centos redis配置恢复怎么操作

小樊
43
2025-12-19 11:26:43
栏目: 云计算

CentOS Redis 配置恢复操作指南

一 恢复为默认配置文件

  • 备份当前配置,防止回滚失败:
    • 命令:sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak_$(date +%F_%T)
  • 获取默认配置(两种常见方式):
    • 方式A:从安装包提取默认配置(示例):
      • 安装工具:sudo yum install -y unzip
      • 下载并解压(以 7.2.4 为例,可按需替换版本):
        • wget https://download.redis.io/releases/redis-7.2.4.tar.gz
        • tar xzf redis-7.2.4.tar.gz && cd redis-7.2.4
      • 复制默认配置:sudo cp redis.conf /etc/redis/redis.conf.default
    • 方式B:若系统曾安装过 Redis 的 rpm 包,可从包管理器提取默认配置(示例):
      • rpm2cpio /path/to/redis-*.rpm | cpio -idmv ./etc/redis/redis.conf
  • 用默认配置替换当前配置并重启:
    • sudo cp /etc/redis/redis.conf.default /etc/redis/redis.conf
    • sudo systemctl restart redis
  • 验证服务与关键参数:
    • redis-cli ping(应返回 PONG
    • redis-cli config get dir dbfilename appendonly(核对数据目录、RDB 文件名、AOF 开关)

二 仅回滚部分配置项

  • 不替换整个文件,仅将关键参数恢复为默认值(示例):
    • redis-cli config set appendonly no
    • redis-cli config set save "900 1 300 10 60 10000"
    • redis-cli config rewrite(将运行时修改持久化到配置文件)
  • 如需持久化到文件而不重启,优先使用 CONFIG REWRITE;重启亦可生效(取决于你的配置加载方式)

三 恢复持久化文件后的配置要点

  • 确认 Redis 的数据目录与文件名:
    • redis-cli config get dir dbfilename(常见目录:/var/lib/redis,文件名:dump.rdb
  • 使用 RDB 备份恢复:
    • 建议先停服务:sudo systemctl stop redis
    • 拷贝备份:sudo cp /path/to/backup/dump.rdb /var/lib/redis/
    • 若实例开启了 AOF,恢复 RDB 时请临时关闭 AOF,避免 Redis 启动后优先加载空的 AOF 覆盖数据:
      • redis-cli config set appendonly no
    • 启动:sudo systemctl start redis
    • 数据验证后,再重新开启 AOF 并持久化:
      • redis-cli config set appendonly yes
      • redis-cli config rewrite
  • 使用 AOF 备份恢复:
    • 停服务:sudo systemctl stop redis
    • 拷贝备份:sudo cp /path/to/backup/appendonly.aof /var/lib/redis/
    • 启动:sudo systemctl start redis
    • 如 AOF 损坏,可用修复工具:
      • redis-check-aof --fix /var/lib/redis/appendonly.aof
  • 重要提醒:当 AOF 与 RDB 同时开启 时,Redis 重启会优先从 AOF 恢复(通常更完整);因此用 RDB 冷备恢复时应暂时关闭 AOF,恢复完成后再开启并持久化配置

四 常见问题与验证

  • 启动失败排查:
    • 查看状态:systemctl status redis
    • 查看日志:sudo tail -f /var/log/redis/redis.log
    • 修正配置后重启:sudo systemctl restart redis
  • 运行验证:
    • redis-cli ping(返回 PONG 表示服务可用)
    • redis-cli info persistence(核对 rdb_last_save_timeaof_enabled 等关键指标)
  • 权限与目录:
    • 确保 Redis 数据目录(如 /var/lib/redis)属主为 redis:redis,权限合理(如 0750/0640),避免因权限导致加载失败或数据不可写

0