由于找不到数据文件夹,无法启动mongod服务

时间:2015-06-05 14:53:39

标签: mongodb ubuntu

我使用/var/lib/mongodb/data/db创建了文件夹sudo

我将.conf文件更改为以下内容:dbpath=/var/lib/mongodb/data/db因为它似乎是Mongo数据库使用的默认设置,对吧?

所以我尝试sudo mongod,我仍然得到

exception in initAndListen: 29 Data directory /data/db not found., terminating

我尝试sudo service mongod start并收到日志错误:

Unable to create/open lock file: /var/lib/mongodb/data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?

/var/lib/mongodb/data/db用户的mongodb用户权限如下:drwxr-xr-x mongodb mongodb mongodb(与root相同)

我在我的用户上运行ps aux | grep mongodb并且正在运行一个进程,但我无法阻止它。它随OS自动启动。到底是怎么回事?为什么我不能设置该死的默认数据库数据路径?!

1 个答案:

答案 0 :(得分:1)

我认为问题出在前面~。 如果您将mongodb作为服务运行,则运行mongoDB的用户为mongodb

如果您想将mongod作为服务运行,请不要使用主目录快捷方式,而是使用db目录的完整路径。

我建议您将mongoDB数据库保存在/var/opt文件夹中。不在/ home文件夹中,您应确保用户权限为mongodb

Ubuntu上的mongodb服务使用了/etc/mongod.conf。如果您使用以前的配置格式,则应修改dbPath配置(在ubuntu中,默认情况下,它是以前的格式)。

要使用ubuntu自动停止服务启动,您应该使用sudo service mongod stop

在您的问题中,我认为不是mongod服务运行正常吗?在这种情况下,您应该找到启动程序。你用的是什么版本的ubuntu和mongodb?如果您使用的是ubuntu 2.6,通常是upstart服务的启动。请参阅/etc/init/mongod.conf

中的配置文件