解决Redis运行时突然不能读取数据了的问题处理
作者:白鸽呀
Redis因configured错误配置导致无法持久化数据,因此在写数据时被禁止,将stopPersist-ononError设置为no允许写入但不停持久化,实际问题在于rdb文件保存路径权限不足,检查并rdb.file文件所在目录权限并确保redis能具有写写入该权,此问题通过修改目录权限解决
redis运行时突然不能读取数据了
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.
Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option).
Please check the Redis logs for details about the RDB error.
大致意思是:
错误的配置,当前数据不能持久化到硬盘,因为实例在写期间被配置为(stop-writes-on-bgsave-error option =yes)也即bgsave持久化过程中发生错误,就不能持久化了。
1、显然修改选项
stop-writes-on-bgsave-error option =yes为no就行,也即持久化发生错误,也允许写。
但是虽然可以将数据写进redis中,但是持久化出问题了啊,这个方法治标不治本。
2、当我们启动redis客户端
访问写的时候,它要求我们去看redis日志文件
日志文件在哪?
redis.config配置文件,自定义的日志文件输出位置

#查看后一百行数据 tail -n 100 /var/log/redis/redis.log

显示不能打开rdb.file的root目录
(一般是权限不够导致的)
rdb.file 在哪呢?
配置文件中 dump.rdb文件,放在上级目录的myconfig下

修改目录和子目录权限
chmod 777 -R myconfig
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
