我一直在尝试在我的系统上运行mongo,但我只是不想开始。我用brew安装了mongodb。 mongo和mongod都在我的系统上,我可以使用它们。但是mongod进程不会开始。
这是我在使用brew在我的系统上安装mongo后所采取的步骤。
$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
$
似乎mongod正在直接关闭,因为我没有看到任何进程正在运行,它再次给了我美元符号。因此,我的终端中没有旋转图标,因此它没有运行。
如果我在运行上述命令后在终端中打开一个新窗口,我收到此错误:
$ mongo
MongoDB shell version: 2.4.3
connecting to: test
Thu May 23 12:22:09.314 JavaScript execution failed: Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112
exception: connect failed
$
这个输出是一个逻辑错误,从事实上看,mongod没有做任何事情。但是当我运行时:
$ ps -ef | grep mongod
501 99123 15827 0 12:24PM ttys001 0:00.00 grep mongod
$
所以我不确定或是否正在运行..你们知道解决方案吗?因为我无法弄清楚我做错了什么..
更新
我尝试更改数据库路径,但部分工作。我现在能够运行mongod命令,但是我需要指定dbPath,即使我在配置文件中更改了dbPath。
$ mongod --dbpath ~/data/db/
当我试图单独运行mongod时,它将无法运行..
$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log
$
答案 0 :(得分:0)
我没有可行的解决方案,但是从你的输出中,似乎mongod正在运行守护进程。您可以尝试在 /usr/local/Cellar/mongodb/2.4.x-x86_64/mongod.conf 中将'fork'选项设置为false(或取消注释)并使用-v /运行mongod --verbose标志,看看是否能为您提供更多详细信息。
另外,你确定你实际上使用的是mongo的自制版本而不是之前安装的版本吗?你可以通过运行来检查使用哪个mongod:
➜ ~ which mongod
/usr/local/bin/mongod
以下是查看是否确实是使用自制软件安装的版本:
➜ ~ ls -l /usr/local/bin/mongod
lrwxr-xr-x 1 user admin 41 21 mrt 22:06 /usr/local/bin/mongod -> ../Cellar/mongodb/2.4.x-x86_64/bin/mongod
答案 1 :(得分:0)
默认数据目录为/data/db
。为了在默认情况下完成这项工作,您需要做两件事:
sudo mkdir -p /data/db
sudo chown `whoami` /data/db