web-dev-qa-db-fra.com

Pymongo continue de refuser la connexion à 27017

J'essaie d'exécuter une simple connexion à pymongo mais il me rappelle que la connexion a été refusée

Voici ce que j'ai essayé:

>>>from pymongo import Connection
>>>connection = Connection('localhost',27017)

voici ce que je reçois

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

Comment puis-je réparer ça?

35
Ulmer

Supprimer mongod.lock de

/var/lib/mongodb
rm mongod.lock

Et puis redémarrer le service devrait le faire. Par exemple, dans mon installation Ubuntu, le redémarrage du serveur ressemble à ceci:

Sudo service mongodb start
40
Guille Polito

Essayez juste de suivre les commandes dans l’ordre donné: 

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

Sudo mongod --repair

Sudo service mongodb start

Sudo service mongodb status

Voilà, vous pouvez voir ce qui suit comme sortie de la dernière commande:

mongodb start/running, process 2796

11
Kedar.Aitawdekar

Si vous rencontrez ce problème sur un serveur distant plutôt que sur l'hôte local, essayez d'activer les interfaces externes:

  • Allez dans le fichier de configuration (ex. /Etc/mongodb.conf)
  • Trouver bind_ip = 127.0.0.1
  • Commentez cette ligne avec un # à l'avant
  • Redémarrer Mongod
7
Qaz

Il semble que vous n'exécutiez peut-être pas le serveur MongoDB. Une des choses qui me déconcerte le plus souvent est que, si le serveur est arrêté de manière malpropre, il refusera de redémarrer tant que vous n'aurez pas supprimé le fichier mongod.lock du répertoire de données.

6
Rick Copeland

Plutôt que de supprimer mongod.lock, je vous recommande d'exécuter 'mongod --repair'. (Je suppose qu'il est préférable d'entrer par la porte d'entrée chaque fois que possible. Et il y a peut-être d'autres choses que cela capture aussi, autant que je sache.)

2
ryepdx

Essayez les commandes suivantes:

Sudo service mongod start
Sudo service mongod status

db.py

import pymongo
from pymongo import MongoClient
#mongo client is connected
client = MongoClient()
db     = client['db']
0
Nija I Pillai