如何使用特定的.rdb文件启动Redis?

6

我在没有密码的情况下安装了Redis。然后我试图设置密码,但没有成功,并决定从我的服务器中删除所有与Redis相关的内容。之后,我重新安装了Redis并成功设置了密码。问题是现在Redis正在创建一个新数据库而不是读取旧数据库。我正在从相同的目录运行相同的命令。

$~/ redis-server

我还尝试使用以下命令检查是否生成了新的dump.rdb文件:

find / -type f -name "*.rdb"

但我只想找到我正确的dump.rdb文件。

有没有办法将我的上一个数据库导入到这个新数据库中?或者,有没有办法使用正确的dump.rdb文件启动我的服务器?


你是如何删除之前的数据的?使用了 FLUSHALL 命令吗? - Niloct
不,我已经打开文件检查了,一切都在那里。 - Rodrigo Pereira
确保您的.conf文件中的“dir”指令设置为RDB文件所在的目录。此外,请验证文件名是否与“dbfilename”的值匹配。如果这些设置正确,但仍然不行 - 那么日志上说了什么? - Itamar Haber
2个回答

6

将您的 rdb 文件复制到正确的路径:

sudo cp /path/to/rdb/dump.rdb /var/lib/redis/dump.rdb

使redis成为新rdb文件的所有者:
sudo chown redis: /var/lib/redis/dump.rdb

打开/etc/redis/redis.conf文件。
确保这两行存在且没有被注释:
dbfilename dump.rdb
dir /var/lib/redis

appendonly 选项更改为 no 来关闭其他持久化方法(因为 redis 会首先考虑该方法):

appendonly yes

保存并关闭配置文件,然后重新启动redis-server

systemctl restart redis-server

如果您的rb文件与redis-server兼容,那么这将起作用。


6
最简单的方法是:
redis-server --dbfilename dump.rdb --dir /home/in_which_directory_rdb_file_exists

根据您的需求更改.rdb文件名目录名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接