首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自码头图像的Redis :6.2.5-al菠萝3.14无法启动“无效的LZF压缩字符串”

来自码头图像的Redis :6.2.5-al菠萝3.14无法启动“无效的LZF压缩字符串”
EN

Server Fault用户
提问于 2021-10-04 12:42:53
回答 1查看 973关注 0票数 0

重新启动带有redis:6.2.5-al菠萝3.14的停靠容器后,它不能以错误开始:

代码语言:javascript
复制
[offset 55130] Internal error in RDB reading offset 0, function at rdb.c:411 -> Invalid LZF compressed string

在清理了Redis存储之后,一切都好了:

代码语言:javascript
复制
# ls -la /redis/
total 68
drwxr-xr-x.  2 polkitd 1000    43 Oct  4 19:22 .
drw-r-----. 14 root    root   179 Sep  8 19:51 ..
-rw-r--r--.  1 polkitd 1000 63907 Oct  4 19:13 dump.rdb
-rw-r--r--.  1 polkitd root  4096 Oct  4 19:22 .dump.rdb.swp

有人能解释一下这个问题的原因吗?

EN

回答 1

Server Fault用户

发布于 2021-10-04 13:07:36

这意味着RDB数据库已损坏。您应该停止容器并从备份中还原文件。如果无法还原它,则可以重命名/移动它,使其具有损坏的备份,以防需要部分恢复,然后启动redis容器。

如果这种情况经常发生,请检查AOF (仅附加文件)是否更适合您。您可以同时拥有RDB和AOF。有关更多细节,请阅读红系持久性神秘性

要检查RDB文件的一致性,可以使用:

代码语言:javascript
复制
redis-check-dump dump.rdb

有关更多详细信息,请参阅4.3.1验证快照和仅附加的文件

如果使用群集,则可以使用以下恢复其中一个节点

代码语言:javascript
复制
rladmin recover list  # To see the list of all files to be recovered

rladmin recover all
rladmin recover db <database_id|name>    # To recover only one DB
recover db only_configuration <db_name>  # To recover only the DB config

rladmin status     # To check which DBs were recovered

在集群中,还可以使用以下方法进行恢复数据库

代码语言:javascript
复制
rladmin cluster recover ....

见:簇恢复文档

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1079489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档