自从我改变了dbpathin /etc/mongodb.conf,MongoDB没有自动启动,也没有使用新的dbpath.在更改之前,MongoDB将在计算机启动时运行,我能够简单地运行命令mongo进入控制台或启动我的Ruby on Rails服务器而没有任何问题.
在我进行修改之后(为了切换到具有更多空间的新驱动器),我能够使一切工作的唯一方法是手动运行命令mongod --config /etc/mongodb.conf.如果我不运行它,似乎服务没有运行和运行没有--config选项给我以下错误:ERROR: dbpath (/data/db/) does not exist.即使配置文件没有说明data/db.
其他一些说明:
/etc/mongodb.conf,我感动了所有的文件出来/var/lib/mongodb,进入/home/nick/appdev/mongodb.root到nick.尝试改变它,但它似乎没有解决任何问题.kma*_*man 19
关于上述问题的后续跟进......
将数据库移动到ec2上的ebs后,我遇到了类似的问题.
事实证明,只运行mongod仍然将dbpath指向/ data/db /(存在).
该/etc/mongodb.conf完全被忽略,除非专门针对.
我设法通过使用指令--config或只是--dbpath(两个工作)来解决这个问题但是我想知道mongod默认从哪里开始......?!
我无法在任何地方找到并覆盖这些默认值.任何人 ?
注意:我对mongod的这种行为感到非常恼火......这只是糟糕的设计和糟糕的文档.
事实证明,我需要将所有者和组设置为mongodb.当我将文件传输到新目录时,我已将所有者和组设置为我的用户帐户nick并尝试过root,但两者都没有.
为此,请执行以下命令:
sudo chown mongodb /home/nick/appdev/mongodb -R
sudo chgrp mongodb /home/nick/appdev/mongodb -R
Run Code Online (Sandbox Code Playgroud)
要确认它是否有效,您可以使用以下命令检查文件权限:
ls -l /home/nick/appdev/mongodb
Run Code Online (Sandbox Code Playgroud)