我在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
应升级到最新版本并启动它.
我遇到了同样的问题,事实证明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)
| 归档时间: |
|
| 查看次数: |
3032 次 |
| 最近记录: |