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

其他格式: JSON · Markdown 中文 · English
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.

generic

官方文档

https://redis.io/commands/debug-rdb-checksum/

解决方案

  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` 尝试修复,但这可能会丢弃一些数据。加载前用另一个检查验证修复后的文件。

无效尝试

常见但无效的做法:

  1. 95% 失败

    Simply restarting Redis without repairing the RDB file will cause the same error on the next load, leading to a crash loop.

  2. 70% 失败

    Setting rdbchecksum to 'no' in redis.conf bypasses the check but does not fix the corruption; data may be silently lost or misread.