# RDB CRC64校验和错误：期望<checksum>但计算得到<checksum>

- **ID:** `redis/rdb-load-crc-error`
- **领域:** redis
- **类别:** data_error
- **错误码:** `ERR`
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

磁盘上的RDB文件CRC64校验和不匹配，表明在写入、存储或传输过程中发生损坏，通常是由于磁盘故障或不完整写入。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 6.0.0 | active | — | — |
| 7.0.0 | active | — | — |
| 7.2.0 | active | — | — |

## 解决方案

1. ```
   从最新的有效RDB或AOF备份恢复：运行 `redis-check-rdb /path/to/dump.rdb` 验证完整性，然后用备份替换损坏文件并重启Redis。
   ```
2. ```
   如果AOF已启用且更新，在redis.conf中设置 `appendonly yes` 并删除损坏的RDB文件，然后重启Redis以从AOF重建数据集。
   ```
3. ```
   使用 `redis-check-rdb --fix /path/to/dump.rdb` 尝试修复，但这可能会丢弃一些数据。加载前用另一个检查验证修复后的文件。
   ```

## 无效尝试

- **** — Simply restarting Redis without repairing the RDB file will cause the same error on the next load, leading to a crash loop. (95% 失败率)
- **** — Setting rdbchecksum to 'no' in redis.conf bypasses the check but does not fix the corruption; data may be silently lost or misread. (70% 失败率)
