在我的/usr/local/mongodb/mongod.conf
文件中,我有
# Store data alongside MongoDB instead of the default, /data/db/
dbpath = /usr/local/mongodb_data
# Only accept local connections
bind_ip = 127.0.0.1
但是当我尝试运行Mongo(在我的Mac上)时,我收到一个错误:
Wed Sep 14 09:29:35 [initandlisten] exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
显然conf文件没有被读取
答案 0 :(得分:28)
如果使用brew安装MongoDB,它为您生成的LaunchAgent文件将默认使用/usr/local/etc/mongod.conf中的配置文件。
此行为定义于:
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/mongodb.rb
请注意,此"默认"仅在通过launchctl
将MongoDB作为服务运行时适用,而不是通过运行mongodb
手动启动它。
截至2015-03-09,安装MongoDB 3.0.0后Homebrew提供的说明是:
==> Caveats
To reload mongodb after an upgrade:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
mongod --config /usr/local/etc/mongod.conf
请注意手动运行命令中的显式--config
参数。
答案 1 :(得分:7)
您必须指定是否要使用其他配置;没有默认配置文件。
实现你想做的事;您可以指定配置路径或启动您的mongo服务器,如:
mongod --dbpath /usr/local/mongodb_data
答案 2 :(得分:1)
我希望能够输入mongod
并让它正常工作。这有效,但需要注意:
% sudo mkdir /data
% sudo ln -s /usr/local/var/mongodb /data/db
请注意,自制软件默认的/usr/local/etc/mongod.conf中有一些有用的配置。这是参考文件:
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
因此,它将登录到控制台,并且连接不会被限制为localhost。
注意:在@ ballPointPenguin的帖子中,现在Homebrew有brew services
,这是一个很好的选择。
答案 3 :(得分:1)
如@ davidmc24所指出的,默认情况下,从launchctl启动时,mongo的自制软件安装将使用配置文件。只需使用:
brew services start mongodb
您可以在(默认位置)跟踪日志:
tail -f /usr/local/var/log/mongodb/mongo.log