在我的redis-cli中运行“shutdown save”后,等待“save”命令完成(跟随redis日志)并备份我的redis .rdb文件,我尝试从开始时启动redis服务器它以空DB(dbsize = 0 !!!)开始。
我该怎么办?如何从.rdb文件恢复我的redis?
答案 0 :(得分:2)
我建议检查以下内容:
在配置文件中,检查dir
和dbfilename
属性是否反映了您希望找到.rdb
文件的磁盘位置和文件名(以及当然要验证正确的.rdb
文件是否在预期的路径上。
在服务器日志中,启动Redis服务时,查看是否看到类似于DB loaded from disk: x.xxx seconds
的日志消息。如果消息没有出现,或者消息显示的内容非常接近0.000 seconds
(这可能不是从磁盘加载11 GB .rdb
文件的合理期望运行时),那么可能另一个提示是您的配置没有在正确的位置查找.rdb
文件。
答案 1 :(得分:0)
问题出在我的配置文件中。我将名为.rdb
的{{1}}文件保存为tal.rdb
,因此无法生效。
然后,我再次启动了我的Redis服务器,看到它有0个密钥,插入old-tal.rdb
个密钥并运行10000
命令,结果,我看到它创建了一个文件{{ 1}}(Redis save"
的默认dump.rdb
)在正确的目录路径中,虽然在配置文件中dbfilename
是.rdb files
,所以我理解我的配置文件是坏。为了解决这个问题,我用备份文件替换了配置文件,并使用dbfilename
的副本重新启动了我的Redis,然后它正确启动(10M密钥)。
谢谢大家!
答案 2 :(得分:0)
我遇到了同样的问题。 " Db加载0.000秒" .and Key *显示空列表。
解决此问题
将备份复制到redis文件夹
sudo cp dump.rdb /etc/redis/dump.rdb
重启服务器
127.0.0.1:6379>KEYS *
有效。
答案 3 :(得分:0)
我在服务器迁移中遇到了同样的问题。我在redis.conf中检查了<FormControl required fullWidth={true} size="small">
<InputLabel htmlFor="name" style={{color: "#000"}}>Тема обращения</InputLabel>
<Select
variant="filled"
style={{backgroundColor: "rgb(232, 241, 250)"}}
value={props.selectedTheme?.id || ''}
onChange={(e) => handleChange(e)}>
{props.themes.map(t => (<MenuItem key={t.id} value={t.id}>{t.name}</MenuItem>))}
</Select>
</FormControl>
和dir
指令太多次了,但是没有加载密钥。以我的经验,在服务器迁移中,应按顺序传递以下步骤:
别忘了第2步。
注意:步骤3将删除目标服务器中的密钥,这些步骤仅用于服务器迁移。
不要忘记在redis.conf中检查dbfilename
和dbfilename
指令。