0

我一直在尝试在我的系统上运行 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
$ 
4

2 回答 2

0

默认数据目录是/data/db. 为了在默认情况下进行这项工作,您需要做两件事:

sudo mkdir -p /data/db
sudo chown `whoami` /data/db
于 2013-05-23T14:58:36.040 回答
0

我没有可行的解决方案,但从您的输出来看,似乎 mongod 正在运行守护进程。您可以尝试在/usr/local/Cellar/mongodb/2.4.x-x86_64/mongod.conf中将 'fork' 选项设置为 false(或取消注释)并使用 -v / --verbose 标志运行 mongod 以查看是否这为您提供了更多详细信息。

另外,您确定您实际上使用的是 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
于 2013-05-23T11:18:32.797 回答