首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Redis配置为保存RDB快照,但当前无法在磁盘上保存

Redis配置为保存RDB快照,但当前无法在磁盘上保存
EN

Stack Overflow用户
提问于 2013-11-09 14:18:16
回答 7查看 81.4K关注 0票数 50

每当我执行任何修改redis中的数据的命令时,我都会得到以下错误

代码语言:javascript
运行
复制
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.

我在mac上使用brew安装了redis。如何获取redis-server记录信息的日志文件的位置。我试着找过redis conf。文件,但也找不到它。

1 redis conf文件2 redis日志文件的默认位置是什么。

如何摆脱上述错误,并能够执行修改redis中的数据的命令。

EN

Stack Overflow用户

发布于 2013-12-29 02:36:59

使用brew安装时,日志文件设置为stdout。您需要编辑/usr/local/etc/redis.conf并将日志文件更改为其他文件。我将我的设置为:

代码语言:javascript
运行
复制
logfile /var/log/redis-server.log

您还需要确保运行redis的用户拥有对日志文件的写权限,否则redis将无法完全启动。然后重启redis:

代码语言:javascript
运行
复制
brew services restart redis

重新启动后,错误会在日志中显示一段时间,因为它发生在redis的定时刷新失败之后。您应该会看到类似这样的内容:

代码语言:javascript
运行
复制
[7051] 29 Dec 02:37:47.164 # Background saving error
[7051] 29 Dec 02:37:53.009 * 10 changes in 300 seconds. Saving...
[7051] 29 Dec 02:37:53.010 * Background saving started by pid 7274
[7274] 29 Dec 02:37:53.010 # Failed opening .rdb for saving: Permission denied

安装brew后,它会尝试保存到/usr/local/var/db/redis/,由于redis可能是以当前用户而不是根用户身份运行的,因此无法对其进行写入。一旦redis拥有写入目录的权限,您的日志文件将显示:

代码语言:javascript
运行
复制
[7051] 29 Dec 03:08:59.098 * 1 changes in 900 seconds. Saving...
[7051] 29 Dec 03:08:59.098 * Background saving started by pid 8833
[8833] 29 Dec 03:08:59.099 * DB saved on disk
[7051] 29 Dec 03:08:59.200 * Background saving terminated with success

并且stop-writes-on-bgsave-error错误将不再被引发。

票数 26
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19873048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档