可能是 $PATH 和权限问题的组合。
尝试以下步骤:
更新您的 $PATH 变量以指向您的 MongoDB bin 文件。在我的情况下 brew install MongoDB 到这个文件夹:
/usr/local/Cellar/mongodb/2.4.6/
要更新您的 $PATH 变量,请执行以下操作:
$ sudo vi /etc/paths
然后,按“i”在 Vi 中插入文本并将您的 MongoDB 路径附加到“路径”文件的末尾并重新启动终端。
/usr/local/Cellar/mongodb/2.4.6/bin
使用“Esc : w q”保存并退出 Vi 编辑器。
使用 echo 显示你的路径变量:
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin
现在尝试检查 Mongo 版本,如果你得到关注,那么你就在正确的轨道上!
$ mongo --version
MongoDB shell version: 2.4.6
现在我们需要创建数据库目录。我使用了 MongoDB 文档中建议的默认“/data/db”位置。我还创建了一个日志目录,以避免在 Mongo 尝试创建任何日志时出现任何权限问题。更改所有权就可以了。
$ sudo mkdir /data/db
$ sudo mkdir /data/log
$ whoami
username
$ chown -R username /data
现在,我们将为 MongoDB 创建一个默认配置文件,以便在我们第一次运行“mongod”命令时提供。现在,我还要指出,“mongod”将启动一个服务,该服务将侦听传入的数据连接。这与执行“$service mysqld start”类似。让我们继续创建配置文件。请记住,我创建了非常基本的配置文件。但是,您可以添加许多其他变量来配置 MongoDB。这是我第一次玩 MongoDB,所以我知道的和我在 MongoDB 文档上阅读的一样多!我创建了“mongodb.conf”。
$ sudo vi /etc/mongodb.conf
添加以下内容:
fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true
请注意,MongoDB 服务器的默认端口是 27017。请使用您在第 5 步中创建的 dbpath 和 logpath 的路径。不要忘记关闭并保存 conf 文件。
现在我们都准备好启动我们的 MongoDB 服务了。打开两个终端实例。在终端 1 中,输入:
$ sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting
如果您收到上述消息,则表明您已成功启动 Mongod 服务。
现在,要连接到它,在 Terminal 2 中输入以下内容:
$mongo test
MongoDB shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>
忽略警告,但您已成功连接到“测试”数据库!酷!
就是这样。当我第一次尝试在我的 Mac 上安装 MongoDB 副本时,我应用了这个解决方案。看看这是否对您也有帮助。
关于详细的帖子,你可以去这里 - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094。
希望对你有帮助!
干杯,
钦梅