之前,我将所有的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中得到以下错误
我需要help..where我错了吗?
发布于 2012-03-14 23:07:27
我也遇到了同样的问题,但多亏了similar question才得以解决。您需要确保mongodb
拥有/vol/db/
。
sudo chown -R mongodb:mongodb /vol/db/
如果收到错误chown: invalid user: 'mongodb:mongodb'
,请检查/etc/passwd
以查看是否存在类似的用户(例如mongod
)。
发布于 2014-04-18 04:31:56
最简单的方法是
sudo chmod 777 /data/db
发布于 2013-06-11 20:57:32
如果在更改了新数据库路径的权限和所有权后,您仍然看到此问题,请运行getenforce
查看您是否正在使用在强制模式下运行SELinux的系统。如果getenforce返回'enforcing',则selinux很可能是权限错误的原因,因为mongodb现在在其原始上下文范围之外运行,因为db位置已更改为/var/lib/...
我不知道细节,但是要解决这个问题而不为新的上下文编写您自己的selinux策略,一种蛮力的方法是简单地关闭selinux :-/
sudo setenforce 0
理想情况下,如果您计划在生产环境中运行,您应该知道如何更新selinux策略。
https://stackoverflow.com/questions/5973811
复制相似问题