无法连接到mongolab主机

17

我正在尝试通过以下命令从终端连接到mongolab

 mongo ds061158.mongolab.com:61158/order_it -u <dbuser> -p <dbpassword>

我遇到了以下错误。
MongoDB shell version: 2.6.3
connecting to: ds061158.mongolab.com:61158/order_it
2014-07-09T13:52:44.890+0530 Error: couldn't connect to server ds061158.mongolab.com:61158 (23.22.170.205), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed

在这种情况下需要做什么?
提前感谢。

61158是正确的端口吗?这不是Mongo默认端口(27017)。 - Lix
是的,没错。我在我的MongoLab主页上也看到了同样的端口。 - Hannan Shaik
3个回答

26

看起来您的网络正在阻止对该端口的访问。我建议您联系您的网络管理员或尝试从不同的网络尝试。

为了测试您的网络连接性(无需凭据),您可以运行此命令。这个示例是刚刚从我的非特权笔记本电脑上运行的,演示了一个成功的测试。

% mongo ds061158.mongolab.com:61158
MongoDB shell version: 2.6.1
connecting to: ds061158.mongolab.com:61158/test
rs-ds061158:PRIMARY> db.runCommand({ping:1});
{ "ok" : 1 }
rs-ds061158:PRIMARY> exit
bye

我们的完整连接故障排除指南在这里:http://docs.mongolab.com/connecting/#help

此外,如果您希望我们深入了解您的服务器或代码的具体情况,请随时通过support@mongolab.com与我们联系。我们非常乐意帮助!

问候,

Jared


2
谢谢 Jared。我的防火墙阻止了这个。 - Hannan Shaik
你能详细说明一下“网络阻止访问该端口”的意思吗?你是指我的笔记本电脑的开放端口吗? - Pierrew
@Pierrew:问题可能出现在客户端和服务器之间的任何地方。MongoLab允许为专用计划配置防火墙规则,但这似乎不是问题所在,因为我能够从非特权网络连接到端口。通常,本地网络甚至您在客户端上运行的操作系统都会有出站防火墙规则。您的本地网络管理员将能够帮助诊断此类情况,并且如果需要,可能是唯一可以为您打开防火墙的人。 - jared
@Jared,你能看一下这个问题吗:https://dev59.com/fZ3ha4cB1Zd3GeqPQzh7 - radio_head

0

我知道这个问题很旧了,但如果有人仍然遇到类似的问题,这就是帮助我的方法:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart

-2

你应该尝试使用--port选项明确指定要使用的端口:

mongo ds061158.mongolab.com/order_it --port 61158 -u <dbuser> -p <dbpassword>

来自mongo手册:

--port <port>
指定mongodmongos实例正在侦听的端口。除非指定,否则mongo将连接到默认的mongod端口27017上的mongod实例。


1
不,这不适用于URL。我得到了这个错误:“MongoDB shell版本:2.6.3 如果您单独指定它们,则URL不能具有主机或端口。” - Hannan Shaik
@hannanessay - 是的...在选项中指定端口并从您的URL中删除它。 - Lix
我使用的命令是 "mongo ds061158.mongolab.com/order_it --port 61158 -u <dbuser> -p <dbpassword>"。我已从 URL 中删除了端口,但仍然出现错误信息:"MongoDB shell version: 2.6.3 url can't have host or port if you specify them individually"。 - Hannan Shaik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接