Redis写操作错误((error) MISCONF Redis is configured to save RDB snapshots)

一:以下是相关命令及报错信息

一下

大致信息为:
        Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。详细错误信息请查看Redis日志的。

报错信息提示很友好了,跟stop-writes-on-bgsave-error配置有关。

我们不着急查看配置,先根据提示进一步查看redis日志信息:

到这里发现日志全是报没权限的错误信息。

二:相关问题解决

【PS:以下解决问题的方式,不一定属于对症下药,但是楼楼的却是这么解决的,所有操作别忘了重启Redis】

1、先查看日志报错文件是否有相关权限

a、如果没有相关权限,去给文件附上权限。

b、还有一种情况就是你的redis被网络黑客攻击了(臆想),多半是你的Redis没有密码,那么就执行命令设置个密码

config set requirepass ****(****为你要设置的密码),设置成功的话会返 回‘OK’字样

 

2、查看dump.rdb所在文件位置及权限问题

查看redis.conf文件会看到默认的
dir ./  当前路径,为了方便我们可以把dir后面的路径改成绝对路径,以便能找到确切唯一的位置。

本人的是发现了好几个dump.rdb文件,个人猜测可能是此原因,多余的删除后,配置文件修改后,重启发现可以了。

3、修改stop-writes-on-bgsave-error配置【如果你未开启监控不建议】
首先我们来看一下官方对于该配置的描述:

大概意思:

#默认情况下,如果启用了RDB快照(至少一个保存点)并且最新的后台保存失败,则Redis将停止接受写入操作,这将使用户意识到数据不能正确地持久存储在磁盘上,否则可能 没有人会注意到,并且将会发生一些灾难。【不建议关闭原因】
#如果后台保存过程将再次开始工作,则Redis将自动允许再次写入。
#但是,如果您设置了对Redis服务器和持久性的适当监视,则可能希望禁用此功能,以便即使磁盘,权限等出现问题,Redis仍将继续照常工作。

到这里,我们就清除明白该配置项的作用了,如果你对Redis做了监视,可以将stop-writes-on-bgsave-error设置为no:

可以通过config set stop-writes-on-bgsave-error no这条命令或者直接修改配置文件

PS:第三种方式如果没做监控的情况下,属于治标不治本,只是用表象去迷惑了自己,等到服务器挂掉,好多数据没有持久化再空流泪就晚了。

【本人小小白一枚,为了我能茁壮成长,望大家轻喷。有错误还希望大家多多指正哦】

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值