首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >mongodb数据目录权限

mongodb数据目录权限
EN

Stack Overflow用户
提问于 2011-05-12 13:50:00
回答 5查看 52.5K关注 0票数 36

之前,我将所有的mongodb数据文件存储在/var/lib/mongodb directory..and中,/etc/mongodb.conf中的dbpath条目是/var/lib/mongodb。

现在,我想将数据目录更改为/vol/db。因此,我创建了目录/vol/db,并使用sudo chown -R id -u /vol/db更改了权限,并将/etc/mongodb.conf中的db路径条目更改为/vol/db

现在,当我使用sudo服务mongodb start启动mongodb时,我在/var/log/mongodb/mongodb.log中得到以下错误

http://pastebin.com/C0tv8HQN

我需要help..where我错了吗?

EN

回答 5

Stack Overflow用户

发布于 2012-03-14 23:07:27

我也遇到了同样的问题,但多亏了similar question才得以解决。您需要确保mongodb拥有/vol/db/

代码语言:javascript
复制
sudo chown -R mongodb:mongodb /vol/db/

如果收到错误chown: invalid user: 'mongodb:mongodb',请检查/etc/passwd以查看是否存在类似的用户(例如mongod)。

票数 47
EN

Stack Overflow用户

发布于 2014-04-18 04:31:56

最简单的方法是

代码语言:javascript
复制
sudo chmod 777 /data/db
票数 19
EN

Stack Overflow用户

发布于 2013-06-11 20:57:32

如果在更改了新数据库路径的权限和所有权后,您仍然看到此问题,请运行getenforce查看您是否正在使用在强制模式下运行SELinux的系统。如果getenforce返回'enforcing',则selinux很可能是权限错误的原因,因为mongodb现在在其原始上下文范围之外运行,因为db位置已更改为/var/lib/...

我不知道细节,但是要解决这个问题而不为新的上下文编写您自己的selinux策略,一种蛮力的方法是简单地关闭selinux :-/

代码语言:javascript
复制
sudo setenforce 0

理想情况下,如果您计划在生产环境中运行,您应该知道如何更新selinux策略。

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

https://stackoverflow.com/questions/5973811

复制
相关文章

相似问题

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