Pymongo一直拒绝在27017拒绝连接

Ulm*_*mer 39 python pymongo

我试图运行一个简单的连接到pymongo但它一直返回,连接被拒绝

这是我尝试过的:

>>>from pymongo import Connection
>>>connection = Connection('localhost',27017)
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux i686.egg/pymongo/connection.py", line 348, in __init__
 self.__find_node()
File "/usr/local/lib/python2.7/dist-packages/pymongo-2.0.1_-py2.7-linux- i686.egg/pymongo/connection.py", line 627, in __find_node
  raise AutoReconnect(', '.join(errors))
pymongo.errors.AutoReconnect: could not connect to localhost:27017: [Errno 111]     Connection refused
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

小智 45

mongod.lock从中移除

/var/lib/mongodb
rm mongod.lock
Run Code Online (Sandbox Code Playgroud)

然后重新启动服务应该这样做.例如,在我的Ubuntu安装中,重新启动服务器是这样的:

sudo service mongodb start
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,“sudo service mongod start”有效,而不是“sudo service mongodb start” (4认同)
  • Windows上的C:\ Program Files \ MongoDB \ Server \ 4.0 \ data谢谢! (2认同)

mui*_*inh 17

如果您发现此页面是因为使用 Docker 并且遇到连接问题,请尝试在客户端初始化中使用 mongodb 的 docker 容器名称,而不是localhost:270170.0.0.0:27017

修复步骤:

  1. docker ps在控制台中写入
  2. 找到容器的名称(它位于命令输出的最后一列中,名为NAMES
  3. MongoClient('mongodb://CONTAINER_NAME')

利润。


Ked*_*kar 12

只需按给定顺序尝试以下命令:

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

sudo mongod --repair

sudo service mongodb start

sudo service mongodb status
Run Code Online (Sandbox Code Playgroud)

现在你可以看到以下作为最后一个命令的输出:

mongodb start/running, process 2796


Qaz*_*Qaz 9

对于在远程服务器而不是localhost上遇到此问题的任何人,请尝试启用外部接口:

  • 转到配置文件(例如/etc/mongodb.conf)
  • 找到bind_ip = 127.0.0.1
  • 注释掉前面带#的行
  • 重启mongod


Ric*_*and 6

看起来您可能没有运行MongoDB服务器.经常让我失望的一件事是,如果服务器被不正常地关闭,它将拒绝重新启动,直到你从数据目录中删除mongod.lock文件.