当前位置: 首页 > 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.jsqmd.com/news/1128528/

相关文章:

  • 碧蓝航线Alas自动化脚本:3步设置解放双手的全能游戏管家
  • UE5 简单 Mesh Shader 制作流程
  • 5个实战技巧:深度掌握N_m3u8DL-RE的高级应用
  • 【嵌入式C语言】06.数组和指针的关系
  • 下服务器端开发流程及相关工具介绍(C++)
  • AI简历工具怎么选?2026年7款主流产品横评:鹅来面/AI简历姬/职徒/知页/Zety/Teal深度对比
  • Redis分布式锁进阶第三十八篇
  • Unlock Music:3分钟本地解密QQ音乐、网易云音乐的完整指南
  • 基于WSEN-ISDS和TM4C129的三轴运动追踪系统设计
  • Obsidian 同步到底怎么选?2026 年主流方案实测对比
  • 2026年指纹浏览器封号率实测对比,哪款防封能力真正经得起考验?
  • CTMS 执行传输报错:Exception during start of deployment for deploy type ‘SLP_CTS‘
  • 光刻胶 配套化学品|纯技术专家线晋升 CTO完整路径、薪资、晋升核心卡点
  • 软考:高级软件架构师学习笔记------了解软考
  • 来可云城际订票系统|车队订单驱动式车辆调度模块功能详解
  • C++图形化打字模拟,单字依次输入(极简可行)
  • YOLO11目标检测入门:猜拳识别实战指南
  • 【SpringBoot篇】SpringBoot WebFlux响应式大文件流式上传下载实战(Flux<DataBuffer>低内存原理、源码解析、落地方案)
  • 医用修护敷料选购指南:资质、成分与剂型的硬核拆解
  • 基于 Java Swing + MySQL C/S 即时通讯聊天系统完整开发记录
  • TensorRT量化模型部署实战:从QAT到INT8推理的工程陷阱
  • 【Java项目-企悦抽】02-AI赋能产品需求规格说明书
  • 吃透SQL查询优化:真实线上案例+Explain深度解析
  • 企业级Java电商系统选型路线图:从零到上线全流程拆解
  • 小学期十八周
  • 第十八周小学期
  • 前端工程化-02:一个完整的vue工程结构模板
  • lsm6dsv16x
  • 开源商城源码下载后能商用吗?这3款Apache-2.0协议商城放心用
  • 卫星被云挡住后,AI还能知道洪水淹到哪里吗?