ERR
redis
data_error
ai_generated
partial
RDB CRC64 checksum error: expected <checksum> but computed <checksum>
ID: redis/rdb-load-crc-error
80%Fix Rate
87%Confidence
1Evidence
2023-09-05First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 6.0.0 | active | — | — | — |
| 7.0.0 | active | — | — | — |
| 7.2.0 | active | — | — | — |
Root Cause
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.
generic中文
磁盘上的RDB文件CRC64校验和不匹配,表明在写入、存储或传输过程中发生损坏,通常是由于磁盘故障或不完整写入。
Official Documentation
https://redis.io/commands/debug-rdb-checksum/Workarounds
-
90% success Restore from the most recent valid RDB or AOF backup: `redis-check-rdb /path/to/dump.rdb` to validate integrity, then replace the corrupted file with a backup and restart Redis.
Restore from the most recent valid RDB or AOF backup: `redis-check-rdb /path/to/dump.rdb` to validate integrity, then replace the corrupted file with a backup and restart Redis.
-
85% success If AOF is enabled and more recent, force AOF replay by setting `appendonly yes` in redis.conf and removing the corrupted RDB file, then restart Redis to rebuild the dataset from AOF.
If AOF is enabled and more recent, force AOF replay by setting `appendonly yes` in redis.conf and removing the corrupted RDB file, then restart Redis to rebuild the dataset from AOF.
-
60% success Use `redis-check-rdb --fix /path/to/dump.rdb` to attempt repair, though this may discard some data. Verify the fixed file with another check before loading.
Use `redis-check-rdb --fix /path/to/dump.rdb` to attempt repair, though this may discard some data. Verify the fixed file with another check before loading.
中文步骤
从最新的有效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` 尝试修复,但这可能会丢弃一些数据。加载前用另一个检查验证修复后的文件。
Dead Ends
Common approaches that don't work:
-
95% fail
Simply restarting Redis without repairing the RDB file will cause the same error on the next load, leading to a crash loop.
-
70% fail
Setting rdbchecksum to 'no' in redis.conf bypasses the check but does not fix the corruption; data may be silently lost or misread.