Har*_*nch 3 redis redis-server redis-cli
我在没有密码的情况下安装了 redis。然后我尝试输入密码但没有成功,并决定从我的服务器中删除所有与 redis 相关的内容。之后,我再次安装了redis并成功设置了密码。问题是现在正在创建一个新数据库而不是从旧数据库中读取。我正在从 sabe 目录运行相同的命令。$~/ redis-server
我还尝试检查是否正在生成一个新的 dump.rdb 文件:
find / -type f -name "*.rdb"
Run Code Online (Sandbox Code Playgroud)
但只是找到我dump.rdb想使用的正确文件。
有没有办法将我的最后一个数据库导入到这个新数据库中?或者,有没有办法使用该correct dump.rdb文件启动我的服务器?
最简单的方法是
redis-server --dbfilename dump.rdb --dir /home/in_which_directory_rdb_file_exists
Run Code Online (Sandbox Code Playgroud)
根据您的要求更改名称.rdb file name和名称。directory
停止redis-server:
sudo service redis-server stop
Run Code Online (Sandbox Code Playgroud)
将您的 rdb 文件复制到正确的路径:
sudo cp /path/to/rdb/dump.rdb /var/lib/redis/dump.rdb
Run Code Online (Sandbox Code Playgroud)
使 redis 成为新 rdb 文件的所有者:
sudo chown redis: /var/lib/redis/dump.rdb
Run Code Online (Sandbox Code Playgroud)
在/etc/redis/redis.conf.
确保这两行存在并且没有注释:
dbfilename dump.rdb
dir /var/lib/redis
Run Code Online (Sandbox Code Playgroud)
通过将appendonly选项更改为no(因为redis将首先考虑 tht 方法)来关闭其他持久性方法:
appendonly yes
Run Code Online (Sandbox Code Playgroud)
保存并关闭配置文件并启动redis-server:
sudo service redis-server start
Run Code Online (Sandbox Code Playgroud)
如果redis-server与您的rb文件兼容,这将起作用。