Centos 6.9-MISCONF Redis配置为保存RDB快照,但当前无法在磁盘上持久保存

时间:2018-07-25 09:14:51

标签: linux redis yum

我正在使用Centos 6.9。我已经使用yum安装了Redis:

sudo yum update

sudo yum install redis

在安装过程中未出现错误。

我可以使用redis-cli启动Redis。它给了我预期的提示:

127.0.0.1:6379>

但是无论何时我发出命令(例如PINGSET foo bar),它都会给出以下错误消息:

  

(错误)MISCONF Redis配置为保存RDB快照,但当前无法在磁盘上持久保存。禁用了可能修改数据集的命令。请检查Redis日志以获取有关该错误的详细信息。

我找到了MISCONF Redis is configured to save RDB snapshots。并通过了它,但是其中的任何建议都没有。

以上接受的答案是使用CONFIG SET来更改Redis用来存储数据的目录。我在非根目录CONFIG SET dir /home/andy中尝试了此操作,但是它仍然给我同样的错误消息。

如果我执行BGSAVE,它会显示“已开始进行后台保存”,但是尝试SET foo bar会返回给我上面的错误。

其他答案已经讨论了这是一个权限问题。但是,我看不出它们如何适用,因为我尝试同时以root和我自己的帐户(andy)的身份启动Redis,并且发生了同样的事情。

我不确定这是否与链接中所述或其他问题相同。

我该如何进一步诊断?我按行业是PHP开发人员,所以这不是我的专长,但是我尝试安装Redis,以便可以将其与具有自己的Redis接口的PHP应用程序一起使用。

3 个答案:

答案 0 :(得分:1)

似乎yum安装会创建一个 redis 用户,并且您的Redis实例正在由该用户运行。因此,即使将dir设置为/home/andy,该 redis 用户仍然没有写andy主目录的权限。

使用ps aux |grep redis获取正在运行Redis的用户,并将dir配置到该用户具有写许可权的目录。

答案 1 :(得分:1)

此错误的快速修复方法是,转到 redis-cli 并设置以下内容

127.0.0.1:6379> config set stop-writes-on-bgsave-error no

以上就好忽略它

答案 2 :(得分:0)

我通过执行以下命令解决了这个问题:

$ redis-cli
> config set stop-writes-on-bgsave-error no