终端上的Mongodb一直卡住了

时间:2016-01-12 01:08:20

标签: macos mongodb terminal

我有一个带El Capitan的Macbook Pro。我使用macports在我的终端上安装了mongodb,类似于自制程序。我已按照所有说明操作,并确保将用户权限更改为/ data / db。有没有人知道我的mongodb安装有什么问题?

每当我尝试运行“mongod”时,它就会一直停留在“等待端口27017上的连接”。这在屏幕截图1中显示。然后我按CTRL-C退出,我在屏幕截图2中显示更多错误消息。此外,“mongo”命令也不起作用。

输入“mongo”时显示错误报告。

MongoDB shell version: 3.0.8 connecting to: test 2016-01-11T19:08:41.888-0600 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused 2016-01-11T19:08:41.890-0600 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at connect (src/mongo/shell/mongo.js:179:14) at (connect):1:6 at src/mongo/shell/mongo.js:179 exception: connect failed

以下链接指向我的google云端硬盘,其中包含“mongod”错误报告的照片。

屏幕截图1 - https://drive.google.com/file/d/0Bwl_BDx-HIfcYnBJRUJfbzFvSm8/view?usp=sharing 屏幕截图2 - https://drive.google.com/file/d/0Bwl_BDx-HIfcdkVkUWJzeENuelU/view?usp=sharing

2 个答案:

答案 0 :(得分:2)

  

每当我尝试运行“mongod”时,它会一直停留在“等待端口27017上的连接”。

这正是应该做的。除非您通过命令开关(例如“--fork”)另行指示,否则运行“mongod”会启动当前shell中的mongo服务器进程并阻止该shell直到进程终止(通过CTRL + C)。

如果要通过mongo shell连接到正在运行的mongo服务器进程,则需要打开第二个终端来执行此操作。从那里运行“mongo”,它应该连接到在第一个终端shell中运行的服务器。

重新帽:

在终端#1中,运行“mongod”。当它说“等待连接......”时,它已准备好接受客户端连接。不要通过CTRL + C停止该过程;不要关闭那个终端。

在终端#2中,运行“mongo”。它应该成功连接到服务器。

答案 1 :(得分:1)

此“拒绝连接”消息非常重要:

2016-01-11T19:08:41.888-0600 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused

您需要使用数据包筛选器来刷新所有规则。请参阅底部附近的这篇文章,以打开mongod使用的端口27017:

http://www.macworld.co.uk/how-to/mac-software/how-open-specific-ports-in-os-x-1010-firewall-3616405/

这是非常直接的:

https://gauravsohoni.wordpress.com/2015/04/14/mac-osx-open-port/

这可能不太有用,但仍值得一看:

https://support.apple.com/en-us/HT201642