无法连接到远程机器上的mongodb

3 投票
1 回答
5920 浏览
提问于 2025-04-16 21:54

我在一个远程服务器上运行着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也要设置为接受远程连接。

撰写回答