自从我改变了dbpath
in /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)
归档时间: |
|
查看次数: |
12205 次 |
最近记录: |