我已经在外部主机服务器上运行了mongodb服务器,我可以通过在客户端计算机shell中执行以下操作来轻松连接mongo客户端:
162.243.27.34 --port 27017
但是当我尝试使用python使用pymongo连接到服务器时,我得到以下输出
import pymongo
client = pymongo.MongoClient('162.243.27.34', 27017)
错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 352, in __init__
raise ConnectionFailure(str(e))
pymongo.errors.ConnectionFailure: could not connect to 162.243.27.34:27017: [Errno 111] Connection refused
我在这里做错了什么?
IP 162.243.27.34上的数据库服务器和客户端是具有不同IP的单独服务器。在上述示例中,我尝试从远程客户端服务器进行连接,而不是连接到本地主机&#39;。
数据库服务器上有防火墙,但客户端确实有权访问,并且mongo客户端命令行程序从客户端服务器连接正常我假设从客户端连接到客户端服务器没有网络问题数据库服务器,而不是我如何使用python进行连接。
运行命令:
cat /etc/mongodb.conf
所示:
bind_ip = 127.0.0.1
#port = 27017
我也使用MongoDB shell版本:2.0.4
答案 0 :(得分:5)
将bind_ip = 127.0.0.1
替换为bind_ip = 0.0.0.0
以允许从远程主机连接到MongoDB。