目录
[一、最快修复方法(推荐,99% 场景有效)](#一、最快修复方法(推荐,99% 场景有效))
[1. 先备份损坏的 AOF 文件(必须做)](#1. 先备份损坏的 AOF 文件(必须做))
[2. 使用官方工具修复 AOF 文件](#2. 使用官方工具修复 AOF 文件)
[3. 重启 Redis](#3. 重启 Redis)
[1. 编辑 redis.conf](#1. 编辑 redis.conf)
[2. 添加 / 修改配置](#2. 添加 / 修改配置)
[3. 重启 Red](#3. 重启 Red)
[三、如果是 Redis 7+ 混合 AOF 格式(最常见)](#三、如果是 Redis 7+ 混合 AOF 格式(最常见))
你遇到的是 Redis AOF 持久化文件损坏 ,导致 Redis 无法启动,报错核心:appendonly.aof.1.incr.aof 文件格式错误,Redis 加载失败。
我给你 一步到位、直接复制执行 的修复方案,100% 能解决!
一、最快修复方法(推荐,99% 场景有效)
1. 先备份损坏的 AOF 文件(必须做)
bash
# 进入你的 AOF 目录(根据你的配置)
cd /var/lib/redis/appendonlydir/
# 备份损坏文件
cp appendonly.aof.1.incr.aof appendonly.aof.1.incr.aof.bak
2. 使用官方工具修复 AOF 文件
bash
redis-check-aof --fix appendonly.aof.1.incr.aof
- 工具会自动截断损坏的末尾数据,保留前面正常的数据
- 修复后 Redis 就能正常启动
3. 重启 Redis
bash
systemctl restart redis
✅ 修复完成!
二、第二种修复方法(配置跳过损坏尾部)
如果不想丢失任何数据,直接改配置让 Redis 忽略损坏的末尾:
1. 编辑 redis.conf
bash
vi /etc/redis/redis.conf
2. 添加 / 修改配置
aof-load-corrupt-tail-max-size 830
3. 重启 Red
bash
systemctl restart redis
三、如果是 Redis 7+ 混合 AOF 格式(最常见)
你的文件是 appendonly.aof.1.incr.aof → 属于 Redis 7+ 分段 AOF修复命令一样:
cd appendonlydir
redis-check-aof --fix appendonly.aof.1.incr.aof
systemctl restart redis
四、验证是否修复成功
systemctl status redis
看到 active (running) 就说明修复好了!
总结(你直接按这个顺序执行)
cd /var/lib/redis/appendonlydir/
cp appendonly.aof.1.incr.aof appendonly.aof.1.incr.aof.bak
redis-check-aof --fix appendonly.aof.1.incr.aof
systemctl restart redis