无法连接到远程机器上的mongodb
我在一个远程服务器上运行着mongodb。我可以通过ssh连接到这个远程服务器,并在远程机器的命令行中连接到mongodb。不过,我需要从我的python脚本中连接到这个mongodb实例。
但是,我在本地的linux机器上直接通过命令连接mongodb时遇到了问题:
mongo <remote_ip>:27017
或者通过pymongo连接时使用:
connection = pymongo.Connection("<remote_ip>", 27017)
使用pymongo时,我收到了下面的错误信息:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.11-py2.6-linux-i686.egg/pymongo/connection.py", line 370, in __init__
self.__find_master()
File "/usr/local/lib/python2.6/dist-packages/pymongo-1.11-py2.6-linux-i686.egg/pymongo/connection.py", line 605, in __find_master
raise AutoReconnect("could not find master/primary")
AutoReconnect: could not find master/primary
这可能是什么原因呢?这是否意味着mongodb运行在一个不是27017的端口上?如果是的话,我该如何找到它运行在哪个端口上呢?
请帮帮我,谢谢!
1 个回答
4
你可以在运行mongodb的电脑上使用 netstat -a -p
命令来查看mongodb连接的端口。这里 netstat -a
是用来列出所有连接的,而 -p
则会显示哪个程序在使用这些连接。同时,要确保远程电脑允许外部连接到这个端口(也就是说,防火墙没有阻止这些连接),并且mongodb也要设置为接受远程连接。