当前位置: 首页 > news >正文

redis的aof方式恢复


情况一:你本来就有 AOF 文件

如果你之前开启过 AOF(或者有别人给的appendonly.aof文件),恢复步骤如下:

1. 准备 AOF 文件

# 将 AOF 文件放到目标数据目录cp/path/to/appendonly.aof /www/server/redis/chownredis:redis /www/server/redis/appendonly.aof

2. 修改配置文件开启 AOF

vim/www/server/redis/redis.conf# 修改以下配置:appendonlyyes# 改成 yesappendfilename"appendonly.aof"appendfsync everysec# 你已经有了dir/www/server/redis/# 确保路径正确

3. 清理旧的 RDB(可选但建议)

# 备份旧 RDBmv/www/server/redis/dump.rdb /www/server/redis/dump.rdb.bak

4. 启动/重启 Redis

# 如果是重启systemctl restart redis-server# 如果是首次启动redis-server /www/server/redis/redis.conf

5. 验证恢复

redis-cli-a1244444DBSIZE redis-cli-a1244444INFO Persistence|grepaof

关键点:当同时存在 AOF 和 RDB 文件时,Redis 会优先使用 AOF 恢复,因为 AOF 数据更完整。


情况二:你只有 RDB,但想转成 AOF 恢复

你目前只有dump.rdb,没有 AOF 文件。如果你想用 AOF 方式启动,需要先把 RDB 转换成 AOF:

方法 A:临时开启 AOF,让 Redis 自动生成

# 1. 确保有 RDB 文件ls-la/www/server/redis/dump.rdb# 2. 以 RDB 方式正常启动 Redis(临时)systemctl start redis-server# 3. 在线开启 AOF(不重启)redis-cli-a1244444CONFIG SET appendonlyyes# 4. 检查 AOF 是否生成ls-la/www/server/redis/appendonly.aof# 5. 持久化配置(让重启后也生效)# 修改 redis.conf:appendonly yesvim/www/server/redis/redis.conf

这样 Redis 会基于当前内存数据重建 AOF 文件,包含了所有现有数据。

方法 B:使用 redis-cli 手动转换(更可控)

# 1. 启动 Redis(用 RDB 恢复)systemctl start redis-server# 2. 执行 BGREWRITEAOF 命令,强制生成 AOFredis-cli-a1244444BGREWRITEAOF# 3. 监控转换进度redis-cli-a1244444INFO Persistence|grepaof_rewrite_in_progress# 返回 0 表示完成# 4. 此时 /www/server/redis/appendonly.aof 已生成# 5. 修改配置开启 AOFredis-cli-a1244444CONFIG SET appendonlyyes

完整的 AOF 恢复流程(如果有备份文件)

假设你从其他地方拿到了一个appendonly.aof文件:

#!/bin/bash# 完整的 AOF 恢复脚本REDIS_PASS="1244444"DATA_DIR="/www/server/redis"AOF_BACKUP="/tmp/appendonly.aof"# 你的备份文件路径# 1. 停止 Redissystemctl stop redis-server# 2. 备份现有数据(以防万一)mv${DATA_DIR}/dump.rdb${DATA_DIR}/dump.rdb.$(date+%Y%m%d_%H%M%S)mv${DATA_DIR}/appendonly.aof${DATA_DIR}/appendonly.aof.old2>/dev/null# 3. 拷贝 AOF 备份到数据目录cp${AOF_BACKUP}${DATA_DIR}/chownredis:redis${DATA_DIR}/appendonly.aof# 4. 修改配置文件(确保 appendonly yes)sed-i's/^appendonly no/appendonly yes/'${DATA_DIR}/redis.conf# 5. 启动 Redissystemctl start redis-server# 6. 验证数据redis-cli-a${REDIS_PASS}DBSIZE redis-cli-a${REDIS_PASS}INFO Persistence

AOF 文件损坏修复

如果启动时提示 AOF 文件有问题:

# 1. 检查并修复 AOFredis-check-aof--fix/www/server/redis/appendonly.aof# 2. 如果修复失败,可以尝试截断到最后一个有效命令redis-check-aof --truncate-to-end /www/server/redis/appendonly.aof# 3. 重新启动systemctl restart redis-server

目前是rdb后面想使用aof

# 步骤1:用现有 RDB 启动 Redissystemctl start redis-server# 步骤2:在线开启 AOFredis-cli-a1244444CONFIG SET appendonlyyes# 步骤3:等待 AOF 文件生成完成redis-cli-a1244444BGREWRITEAOF# 步骤4:修改配置文件,永久生效sed-i's/appendonly no/appendonly yes/'/www/server/redis/redis.conf# 步骤5:验证redis-cli-a1244444INFO Persistence|grep-E"aof_enabled|aof_current_size"

http://www.cnnetsun.cn/news/3161325.html

相关文章:

  • Java安全管理器实战:从零构建OJ判题机安全沙箱
  • Windows EFS加密文件重装系统后恢复全攻略:原理、场景与实操
  • 抖音无水印视频下载终极指南:三步搞定批量下载难题
  • 影刀RPA新手教程:Python协同入门完全指南——不会Python也能在影刀里用Python
  • AI攻防时代:智能风控如何应对自动化攻击新范式
  • 标称网格的地理经纬度
  • HCI 功能规范【4.8. Versioned events】
  • 总目录 2026版国家级全领域科研痛点攻关
  • 第25篇:数据安全:从“边界防护”到“纵深防御”
  • 关于C++多重继承下虚表结构的问题
  • Redis分布式锁进阶第三十七篇
  • 奇迹 MU 剑与翼手游官网下载:奇迹 MU 剑与翼最新官方下载渠道
  • SRC漏洞挖掘入门:8种实战姿势与零基础进阶路径
  • Three.js 城市光影教程
  • 数学的本质是什么?——数学为什么如此不可思议地有效-龍德明宇
  • 主动推理-信息组织
  • SpringBoot3.x新特性解读与迁移指南
  • 影刀RPA深度教程:异常处理与调试完全指南
  • 泳池设备品牌哪家好
  • 《欠你的那场婚礼》 台剧|在线观看|电视剧|夸克|下载|豆瓣
  • 嵌入式系统2x2矩阵键盘设计与74HC32应用
  • 模型回滚流程:版本能切回去,数据也要对得上
  • LangGraph 工作流:用业务场景检验技术取舍
  • 2026年GEO贴牌代理源码解构:核心状态机深度拆解
  • SpringBoot项目从开发到部署的完整指南
  • Java分布式架构设计方法
  • Allegro PCB设计环境搭建与高速布线实战指南
  • 互联网大厂 Java 求职者面试:音视频领域的挑战与机遇
  • OpenCV核心接口与图像处理实战指南
  • 基于YOLOv8的铁轨障碍物智能检测系统实战指南