我创建了文件夹 /var/lib/mongodb/data/db
与 sudo
.
我更改了.conf
文件到以下:dbpath=/var/lib/mongodb/data/db
因为它似乎是 Mongo db 使用的默认值,对吧?
所以我试试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
在我的用户上,有一个进程正在运行,但我无法停止它。它随操作系统自动启动。到底是怎么回事?为什么我不能设置该死的默认数据库数据路径?!
最佳答案
我认为,问题出在 ~
在你的道路之前。
如果您将 mongodb 作为服务运行,则运行 mongoDB 的用户是 mongodb
.
如果您想将 mongod 作为服务运行,请不要使用主目录快捷方式,而是使用 db 目录的完整路径。
我建议您将 mongoDB 数据库保存在 /var
或 /opt
文件夹。不在/home 文件夹中,您应该确保用户权限是 mongodb
.
Ubuntu 上的 mongodb 服务使用了 /etc/mongod.conf
.您应该修改 dbPath
config 如果您使用以前的配置格式(在 ubuntu 中,默认情况下,它是以前的格式)。
要停止使用 ubuntu 自动启动的服务,您应该使用 sudo service mongod stop
.
在您的问题中,我认为不是 mongod 服务运行正确吗?在这种情况下,您应该找到启动程序。你用的是什么版本的 ubuntu 和 mongodb?如果您使用的是 ubuntu 2.6,通常它会以 upstart
启动服务。见 /etc/init/mongod.conf
中的配置文件
关于mongodb - 由于找不到数据文件夹,无法启动 mongod 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669619/