Homebrew mongodb连接失败 - Mac OSX Sierra 10.12.6

Nik*_*Nik 6 homebrew mongodb

我在Mac OSX Sierra 10.12.6上安装了mongodb和brew:

brew install mongodb
Run Code Online (Sandbox Code Playgroud)

运行时我没有错误:

brew services start mongodb
Run Code Online (Sandbox Code Playgroud)

但是当我试图跑:

mongo
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
2018-02-05T14:55:25.952-0500 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2018-02-05T14:55:25.952-0500 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

我删除了.plist文件,确保/ data/db存在并且所有必要的权限都在其上.我可以mongodb没有问题地开始,一切都运行但我不能让它运行brew services start mongodb

有什么想法吗?

gor*_*anz 19

如果您不需要保留当前数据:

brew services stop mongodb

brew uninstall mongodb

rm -rf /usr/local/var/mongodb/

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

rm -rf /usr/local/etc/mongod.conf

brew install mongodb

brew services start mongodb

应升级到最新版本并启动它.


kkz*_*k47 9

我遇到了同样的问题,事实证明mongod服务没有运行,即使brew services start mongodb报告没有问题.

但是如果mongod直接运行,服务会成功启动.所以问题在于旧的数据库文件/usr/local/var/mongodb

(这些配置可以在~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist和中找到/usr/local/etc/mongod.conf)

/usr/local/var/log/mongodb/mongo.log我看到一条线说

2018-02-12T15:51:56.110 + 0800 F CONTROL [initandlisten]**重要:升级问题:在尝试升级到3.6之前,需要将数据文件完全升级到3.4版; 有关详细信息,请参阅http://dochub.mongodb.org/core/3.6-upgrade-fcv.

然后我安装了mongodb 3.4(brew uninstall mongodb brew install mongodb@3.4),

db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ) 在mongo@3.4 shell 运行 ,

停止mongodb服务(brew services stop mongodb@3.4),

将mongodb再次升级到3.6(brew uninstall mongodb@3.4 brew install mongodb),

问题解决了.

(如果需要,rm /usr/local/var/mongodb/*.lock)

  • 而且,我没有尝试运行brew服务安装mongodb但它应该只是brew install mongodb对吗?在你的答案 (2认同)