在写入Redis (SET foo bar)期间,我得到以下错误:
MISCONF Redis被配置为保存RDB快照,但当前为 无法在磁盘上持久保存。可能修改数据集的命令是 禁用。有关错误的详细信息,请查看Redis日志。
基本上我理解的问题是,redis是不能在磁盘上保存数据,但不知道如何摆脱这个问题。
下面的问题也有同样的问题,它在很久以前就被抛弃了,没有答案,很可能没有尝试解决这个问题。
在写入Redis (SET foo bar)期间,我得到以下错误:
MISCONF Redis被配置为保存RDB快照,但当前为 无法在磁盘上持久保存。可能修改数据集的命令是 禁用。有关错误的详细信息,请查看Redis日志。
基本上我理解的问题是,redis是不能在磁盘上保存数据,但不知道如何摆脱这个问题。
下面的问题也有同样的问题,它在很久以前就被抛弃了,没有答案,很可能没有尝试解决这个问题。
当前回答
一个更永久的修复方法可能是查看/etc/redis/redis.conf中200-250行左右的rdb特性的设置,这不是redis 2中的一部分。x天。
值得注意的是
dir ./
可更改为
dir /home/someuser/redislogfiledirectory
或者您可以注释掉所有保存行,而不用担心持久性。(见/etc/redis/redis.conf中的注释)
还有,别忘了
service redis-server stop
service redis-server start
其他回答
使用redis-cli,你可以阻止它尝试保存快照:
config set stop-writes-on-bgsave-error no
这是一个快速的解决方法,但是如果你关心使用它的数据,你应该检查一下为什么bgsave首先失败了。
在我绞尽脑汁思考了这么多so问题之后,终于 对我来说,@Axel Advento的回答奏效了,但没有额外的步骤- 我仍然面临许可问题。 我必须切换用户到redis,在它的home目录中创建一个新目录,然后将其设置为redis的目录。
sudo su - redis -s /bin/bash
mkdir redis_dir
redis-cli CONFIG SET dir $(realpath redis_dir)
exit # to logout from redis user (optional)
对我来说
config set stop-writes-on-bgsave-error no
我重新加载我的mac,它工作
FWIW,我遇到了这个问题,解决方案是简单地向盒子添加一个交换文件。我使用了这个方法:https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
是的,这是因为当前用户没有修改“dump.rdb”的权限。
因此,除了创建一个新的RDB文件,您还可以对旧文件授予权限(更改其所有权)。
在redis-cli中输入:
配置get dir
你会得到"/usr/local/var/db/redis"(这是redis写入数据的位置)
使用终端前往此位置
cd
cd /usr/local/var/db
输入以下命令(使用我们的用户名):
sudo chown -R [username] db
这将改变为所有者。
这对我很有用。