FLUSHDB - Removes data from your connection's CURRENT database. FLUSHALL - Removes data from ALL databases.
(error) 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.
临时解决方案
# redis-cli 127.0.0.1:6379> config set stop-writes-on-bgsave-error no OK 127.0.0.1:6379> set name neo OK 127.0.0.1:6379> get name "neo"
原因是数据库持久化写入硬盘出现问题,可能是数据库目录权限不足。
排查方法
CONFIG GET dir CONFIG GET dbfilename config set stop-writes-on-bgsave-error yes CONFIG SET dir /tmp CONFIG SET dbfilename temp.rdb
尝试解决
# redis-cli 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/" 127.0.0.1:6379> CONFIG GET dbfilename 1) "dbfilename" 2) "dump.rdb" 127.0.0.1:6379> config set stop-writes-on-bgsave-error yes OK 127.0.0.1:6379> CONFIG SET dir /tmp OK 127.0.0.1:6379> set test aaaa OK 127.0.0.1:6379> get test "aaaa"
如果确认是 dir 权限问题,我们就通过修改redis.conf 中得dir配置解决。
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。