ERR
redis
data_error
ai_generated
partial
RDB CRC64校验和错误:期望<checksum>但计算得到<checksum>
RDB CRC64 checksum error: expected <checksum> but computed <checksum>
ID: redis/rdb-load-crc-error
80%修复率
87%置信度
1证据数
2023-09-05首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 6.0.0 | active | — | — | — |
| 7.0.0 | active | — | — | — |
| 7.2.0 | active | — | — | — |
根因分析
磁盘上的RDB文件CRC64校验和不匹配,表明在写入、存储或传输过程中发生损坏,通常是由于磁盘故障或不完整写入。
English
The RDB file on disk has a CRC64 checksum mismatch, indicating corruption during writing, storage, or transfer, often due to disk failures or incomplete writes.
官方文档
https://redis.io/commands/debug-rdb-checksum/解决方案
-
从最新的有效RDB或AOF备份恢复:运行 `redis-check-rdb /path/to/dump.rdb` 验证完整性,然后用备份替换损坏文件并重启Redis。
-
如果AOF已启用且更新,在redis.conf中设置 `appendonly yes` 并删除损坏的RDB文件,然后重启Redis以从AOF重建数据集。
-
使用 `redis-check-rdb --fix /path/to/dump.rdb` 尝试修复,但这可能会丢弃一些数据。加载前用另一个检查验证修复后的文件。
无效尝试
常见但无效的做法:
-
95% 失败
Simply restarting Redis without repairing the RDB file will cause the same error on the next load, leading to a crash loop.
-
70% 失败
Setting rdbchecksum to 'no' in redis.conf bypasses the check but does not fix the corruption; data may be silently lost or misread.