升级到Ubuntu 15.04后,MongoDB服务无法正常工作

Sha*_*riq 5 linux ubuntu mongodb mongoid systemd

我最近将我的ubuntu从14.10升级到了15.04.所有功能似乎都工作正常,除了MongoDB.我使用Mongoid gem在rails应用程序上使用带有ruby的mongoDB.MongoDB不能像我们在ubuntu中那样通过服务进行控制.

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

要么

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

我收到此错误消息

无法重启mongod.service:单元mongod.service无法加载:没有这样的文件或目录.

但每次我必须使用我的应用程序连接到MongoDB服务器时,我必须手动启动它

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

所以mongodb,只要该终端被打开连接.我正在使用MongoDBRuby on Rails应用程序Mongoid adapater/ORM.

当我跑

sudo service mongodb status
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since ??? 2015-05-06 14:47:53 PKT; 5s ago
Docs: man:mongod(1)
Process: 28602 ExecStart=/usr/bin/mongod --config /etc/mongodb.conf (code=exited, status=4)
Main PID: 28602 (code=exited, status=4)

??? 06 14:47:53 NX00443 systemd[1]: Started An object/document-oriented database.
??? 06 14:47:53 NX00443 systemd[1]: Starting An object/document-oriented database...
??? 06 14:47:53 NX00443 systemd[1]: mongodb.service: main process exited, code=exited, status=4/NOPERMISSION
??? 06 14:47:53 NX00443 systemd[1]: Unit mongodb.service entered failed state.
??? 06 14:47:53 NX00443 systemd[1]: mongodb.service failed.
Run Code Online (Sandbox Code Playgroud)

在这方面的任何帮助将不胜感激.

G.B*_*G.B 10

事实证明,Mongo>2.6.3start有一个已知问题:

支持Systemd(无法使用Fedora 15或更高版本的init脚本启动mongodb)

由于这里要注意:在这个环节上,似乎这可能不会完全固定>2.6.3,直到Ubuntu 16.04,除非有强烈的呼声.

所以解决方案是发布:

sudo apt-get install --reinstall mongodb
Run Code Online (Sandbox Code Playgroud)

这回到了mongo 2.6.3现在所有的工作!对于那些遇到这个...


小智 5

您需要更改db的路径配置:

例如在文件“/etc/mongod.conf”中设置“dbPath:/data/db”

您需要授予 mongodb 用户访问此路径的权限:

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


Sha*_*riq 2

上述解决方案都不适合我。ubuntu 15.04 中的内核级别更改很少,并且不会在当前版本中解决此问题。希望它会在 ubuntu 的下一个稳定版本中得到修复。