当前位置: 首页 > 知识库问答 >
问题:

Redis告诉我“打开失败。用于保存的RDB:权限被拒绝”

黄英韶
2023-03-14

我在Debian Server8.5上运行Redis Server2.8.17。我使用Redis作为Django1.8.4应用程序的会话存储。

MISCONF Redis is configured to save RDB snapshots but is currently not able to persist to disk.  Commands that may modify the data set are disabled.  Please check Redis logs for details...
1 changes in 900 seconds.  Saving...
Background saving started by pid 22213
Failed opening .rdb for saving: Permission denied
Background saving error

我读过这两个问题1,2,但它们没有帮助我找到问题。

ps显示用户“Redis”正在运行服务器:

redis   26769   ...   /usr/bin/redis-server *.6379

我检查了配置文件中的redis文件名和路径:

grep ^dir /etc/redis/redis.conf =>
dir /var/lib/redis

grep ^dbfilename /etc =>
dbfilename dump.rdb
ps -C redis-server  # pid = 26769
sudo strace -p 26769 -o /tmp/strace.out

但是当我检查输出时,我没有看到任何错误。特别是,我没有看到“权限被拒绝”错误,正如我所期望的那样。

另外,/var/lib/redis不是NFS目录。

有没有人知道还有什么原因引起的?我不想停止使用Redis。我知道我可以运行命令“set stop-writes-on-bgsave-error yes”,但这并不能解决问题。

共有1个答案

岳毅
2023-03-14

我也有类似的问题。尽管我的配置文件是正确的,但当我在redis-client中检查实际的dbfilename和dir时,它们是不正确的。

运行redis-cli,然后

config GET dbfilename,它应该返回如下内容

1) "dbfilename"
2) "dump.rdb"
1) "dir"
2) "/var/lib/redis"

确认这些参数是否正确,如果不正确,请使用config set dir/corret/path设置这些参数

希望这有帮助!

 类似资料:
  • 我在Debian服务器8.5上运行Redis服务器2.8.17。我使用Redis作为Django 1.8.4应用程序的会话存储。 我已经有几个月没有更改服务器上的软件配置了,一切正常,直到一周前Django开始出现以下错误: 我查看了redis日志,发现这种情况大约每秒发生一次: 我已经读了这两个SO问题1,2,但是他们没有帮助我找到问题。 ps显示用户“redis”正在运行服务器: 我检查了配置

  • 我使用的是redis版本3.0.6。redis-server进程正在由redis用户运行。 突然从24小时后的5天开始,redis开始失败“打开. rdb进行保存”在此之前它工作正常。 正如您在下面的日志片段中所看到的,Redis表现正常,然后开始失败。服务器重启后解决了问题。 那么,我的问题是:这怎么会发生?请给我一个合适的解决方案。

  • 问题内容: 我在ubuntu 12.04上使用ubuntu apt-get安装了Redis服务器2.8。 我已经从其他数据库复制了dump.rdb。现在,当我尝试启动新服务器时,我不断得到: 我该如何解决? 问题答案: 您应该检查 redis.conf* 文件以查看 dir 和 dbfilename中 的权限。如果位于 dir 路径指定的路径中的 dbfilename 中命名的文件存在,并且权限也

  • 更新 结果发现我调用open和close FileOutputStream的频率太高了,这会在某个时候抛出FileNotFoundException。听起来更像是线程问题。

  • 问题内容: 我已经加入包括。 当我尝试在Nexus5(Android 6.0)中运行我的应用程序时,它引发了如下异常: 然后我尝试了另一部Android手机(Android 5.1),一切正常。代码如下: Android 6.0在权限方面有区别吗? 问题答案: 在Android 6(Marshmallow)中,即使用户在安装时接受了你的所有权限,他们仍可以稍后决定从你手中夺走其中一些权限。 快速解