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.

写在前边


今天使用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文件或其目录的权限问题不正确或磁盘空间不足

解决问题


  1. 使用redis-cli,你可以这样做:

    1
    2
    CONFIG SET dir /tmp/some/directory/other/than/var
    CONFIG SET dbfilename temp.rdb

    千万不要使用

    1
    config set stop-writes-on-bgsave-error no

    忽视这些错误并不是解决问题的办法。

  2. 我的解决方案是

    修改配置文件,重启服务

    1
    2
    3
    4
    5
    $ mkdir /usr/local/redis/db
    $ vim redis.conf
    # 第263行左右 设置快照文件目录,切勿设置成一个redis用户没有权限的目录
    dir /usr/local/redis/db/
    $ chown -R redis:redis /usr/local/redis

详情看这里,使用Redis,一定要注意安全

文章不错,你都不请我喝杯茶,就是说你呀!
0%
upyun