MongoDB服务无法启动.错误:13许可被拒绝

ces*_*pon 4 ubuntu service mongodb

我在Ubuntu服务器上安装了MongoDB,如文档http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/中所示.然后,我修改了配置文件/etc/mongod.conf,以后再运行mongod服务.

如果我执行:MongoDB正确运行:

sudo mongod -f /etc/mongod.conf
Run Code Online (Sandbox Code Playgroud)

但是如果我执行,MongoDB会停止:

sudo service mongod start
Run Code Online (Sandbox Code Playgroud)

在配置文件中/etc/mongod.conf我只改变了这个:

dbpath=/data/db
logpath=/root/logs/mongod.log
port=20000
Run Code Online (Sandbox Code Playgroud)

使用此配置,也不会创建日志文件.

如果我不修改指示的先前值,则服务正确启动.默认值为:

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongod.log
port = 27017
Run Code Online (Sandbox Code Playgroud)

因为日志文件不是使用自定义配置创建的,所以我只更改了dbpath以查看错误:

[initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?
Run Code Online (Sandbox Code Playgroud)

我试图运行以下命令但没有成功:

sudo chown -R `id -u` /data/db

sudo rm /var/lib/mongodb/mongod.lock
mongod --repair
Run Code Online (Sandbox Code Playgroud)

堆:

  • Ubuntu 14.10
  • MongoDB 2.6.5

ces*_*pon 19

我们必须使mongod用户拥有所有目录/文件.为了这:

sudo chown -R mongodb:mongodb /data/db
Run Code Online (Sandbox Code Playgroud)