Connexion refusée à MongoDB errno 111

j'ai un serveur Linode qui exécute Ubuntu 12.04 LTS et instance MongoDB (le service est en cours d'exécution et peut se connecter localement) que je ne peux pas me connecter à partir d'une source extérieure.

j'ai ajouté ces deux règles à mes tables IP, où est le serveur à partir duquel je veux me connecter (comme indiqué dans cette référence MongoDB ):

iptables -A INPUT -s < ip-address > -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -d < ip-address > -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

et je vois le règle dans ma table IP permettant les connexions sur 27017 vers et depuis cependant, lorsque j'essaie de me connecter depuis, à ma base de données mongo en utilisant une commande comme celle-ci:

mongo databasedomain/databasename -u username -p password

je reçois cette erreur:

2014-07-22T23:54:03.093+0000 warning: Failed to connect to databaseserverip:27017, reason: errno:111 Connection refused 2014-07-22T23:54:03.094+0000 Error: couldn't connect to server < ip address >:27017 (databaseserverip), connection attempt failed at src/mongo/shell/mongo.js:148 exception: connect failed

toute aide est très appréciée!!!! Merci!!!

64
demandé sur dbcooper 2014-07-23 04:12:18

8 réponses

Merci pour l'aide tout le monde!

S'avère que c'était un conflit iptable. Deux règles énumérant le port ouvert (qui a abouti à un port fermé).

cependant, un des commentaires d'aka et un autre de manu2013 étaient des problèmes que j'aurais rencontrés, si ce n'était pour le conflit.

So! N'oubliez jamais d'éditer le fichier /etc/mongod.conf et de définir votre bind_ip = 0.0.0.0 afin de faire des connexions externes.

aussi, assurez-vous que vous n'avez pas de règles contradictoires dans votre iptable pour le port que mongo veut (voir lien sur le site de mongodb pour configurer votre iptables correctement).

106
répondu dbcooper 2015-03-05 11:56:46

essayez ce qui suit:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart
41
répondu manu2013 2014-07-23 00:31:10

ces commandes ont réglé le problème pour moi,

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo service mongod start
sudo service mongod status

si vous êtes derrière proxy, utilisez: -

export http_proxy="http://username:password@company.com:port / "

export https_proxy="http://username:password@company.com:port 151920920"

référence: https://stackoverflow.com/a/24410282/4359237

35
répondu sk1pro99 2017-05-23 12:18:20

pour serveur Ubuntu 15.04 et 16.04 vous devez exécuter seulement cette commande

sudo apt-get install --reinstall mongodb
15
répondu techfano 2016-05-11 22:58:21

Je n'avais pas de répertoire /data/db . J'en ai créé un et j'ai donné la permission chmod 777 et ça a marché pour moi

6
répondu Seadon Francis Pinto 2016-12-21 08:14:50

une autre option consiste à simplement réparer votre base de données comme ceci (note: le répertoire db0 doit être pré-créé en premier):

mongod --dbpath /var/lib/mongodb/ --repairpath /var/lib/mongodb/db0

il s'agit également d'une option acceptable dans les environnements de production...

3
répondu ostati 2015-01-17 19:57:16

j'ai aussi eu le même problème.Créer un répertoire dans dbpath.Dans mon cas, il n'y avait pas de répertoire dans /data/db .Alors j'en ai créé un.Maintenant son travail.Assurez-vous de donner l'autorisation de ce répertoire.

1
répondu Susampath 2017-12-04 09:20:29

Dans mon cas, la version précédente était 3.2. J'ai mis à jour à 3.6, mais les fichiers de données n'était pas compatible avec la nouvelle version, donc j'ai supprimé tous les fichiers de données car il n'était pas utilisable pour moi et ses travaux.

vous pouvez vérifier les journaux en utilisant /var/log/mongodb

0
répondu Kamal Kumar 2018-04-27 09:06:20