写在前边
今天使用redis
的时候,遇到了这个问题。
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
一搜,发现网上有许多不靠谱的解决方案。
让我们来回顾一下
问题
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
MISCONF Redis配置为保存RDB快照,但目前无法在磁盘上保留。 可以修改可能修改数据集的命令。 请检查Redis
日志以获取有关错误的详细信息。
其实说的很清楚,快照无法保存在磁盘上。到这里,基本上就明白问题所在,rdb
文件或其目录的权限问题不正确或磁盘空间不足
解决问题
使用
redis-cli
,你可以这样做:1
2CONFIG SET dir /tmp/some/directory/other/than/var
CONFIG SET dbfilename temp.rdb千万不要使用
1
config set stop-writes-on-bgsave-error no
忽视这些错误并不是解决问题的办法。
我的解决方案是
修改配置文件,重启服务
1
2
3
4
5mkdir /usr/local/redis/db
vim redis.conf
第263行左右 设置快照文件目录,切勿设置成一个redis用户没有权限的目录
dir /usr/local/redis/db/
chown -R redis:redis /usr/local/redis