web-dev-qa-db-fra.com

Impossible de se connecter à MongoDB

Je viens d'installer MongoDB (version standard d'Ubuntu, pas la dernière version stable) et pour une raison quelconque, je ne peux pas me connecter:

Mon Feb  6 03:11:22 Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:79
exception: connect failed

Maintenant, ma machine n'est pas 127.x.x.1 mais pour une raison quelconque x.x.x.2 (mais j'ai modifié ma configuration pour qu'elle se lie à cette adresse et j'ai également essayé de me connecter à mon adresse IP publique, ce qui n'a servi à rien.

Config:

# mongodb.conf

# Where to store the data.

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 199.21.114.XX
port = 27017

J'ai vérifié les journaux et seules les informations de démarrage sont affichées. 

J'ai également vérifié que le démon est en cours d'exécution et c'est le cas. J'ai même essayé de l'exécuter manuellement avec un --fork.

Est-ce que quelqu'un à déjà rencontré cela avant? Ou des suggestions?

THX

METTRE À JOUR:

Après un redémarrage, voici les journaux:

** WARNING: You are running in OpenVZ. This is known to be broken!!!

Tue Feb  7 19:43:32 [initandlisten] db version v1.8.2, pdfile version 4.5
Tue Feb  7 19:43:32 [initandlisten] git version: nogitversion
Tue Feb  7 19:43:32 [initandlisten] build sys info: Linux allspice 2.6.24-28-se$
Tue Feb  7 19:43:32 [initandlisten] *** warning: spider monkey build without ut$
Tue Feb  7 19:43:32 [initandlisten] waiting for connections on port 27017
Tue Feb  7 19:43:32 [websvr] web admin interface listening on port 28017
21
Stuart.Sklinar

Vous devez spécifier l'adresse IP (199.21.114.XX) en exécutant mongo 199.21.114.XX.

Sinon, si vous souhaitez qu'il écoute également sur localhost, vous devez supprimer le paramètre bind_ip de votre fichier de configuration.

Mise à jour Vérifiez la configuration de votre pare-feu. Puisque vous vous connectez à l’IP externe, il peut être configuré pour bloquer, même à partir du poste local.

14
Eve Freeman

J'ai résolu ce problème en commentant la ligne suivante dans mon fichier /etc/mongod.conf.

# Listen to local interface only. Comment out to listen on all interfaces. 
#bind_ip = 127.0.0.1

Vous devrez suivre ce changement de configuration avec le redémarrage du processus Mongod.

Sudo service mongod restart
25
Jeremy White
Sudo rm /var/lib/mongodb/mongod.lock
9
andyshi

J'ai eu le même problème juste à cause de l'erreur stupide.

d'abord supprimer le fichier mongodb qui va bien

rm -rf /tmp/mongodb-27017.sock

où je me suis trompé dans le fichier /etc/mongod.conf

# network interfaces
net:
  port: 27017
 #bindIp: 127.0.0.1
bindIp: privateIp

au lieu de 

net:
  port: 27017
  bindIp: 10.1.2.4

pour écouter tous les ips disponibles

bindIp: [127.0.0.1,10.128.0.2]

redémarrer le mongodb

Sudo service mongod start

espérons que cette réponse aide pour quelqu'un

3
Amit Dubey

Par défaut, l'exécution de la commande de console mongo cherchera mongodb sur votre hôte local, d'où l'IP 127.0.0.1 qui est votre boucle locale. De plus, la configuration par défaut pour mongod devrait être disponible sur localhost. Il est préférable de le faire de cette façon pour le moment, sauf si vous avez activé l’autorisation. Assurez-vous que l'authentification est activée ou que votre base de données s'exécute ouvertement sur votre adresse IP publique.

Lorsque vous souhaitez vous connecter à un hôte autre que localhost ou votre configuration par défaut, vous procédez comme suit:

mongo <Host>
2
jdi

dans /etc/mongod.conf

J'ai changé, 

bindIp: 127.0.0.1

à 

bindIp: 0.0.0.0

qui est tous les ports. Oui, je sais que c'est risqué, mais je travaille sur un réseau interne.

BTW commentant #bindIp: 127.0.0.1 ne fonctionnait pas pour moi, fonctionnant sous Ubuntu 18.

1
reselbob

les étapes suivantes peuvent vous aider:

  1. ouvrez le terminal et exécutez "Sudo rm /var/lib/mongodb/mongod.lock"
  2. maintenant exécuter " Sudo mongod --repair "
  3. maintenant "Sudo start mongodb"
  4. il suffit maintenant de vérifier l’état de l’état de mongodb "état du sudo mongodb"

5 enfin invoquer la commande "mongo"

1
rahul sharma

Une autre méthode consiste à ajouter l'option mongod à param bind_ip.

mongod -–help

--bind_ip liste d'adresses IP, séparées par des virgules, séparées par des virgules. écouter sur - localhost par défaut

--bind_ip_all se lie à toutes les adresses ip

mongod --fork --logpath /var/log/mongodb.log --dbpath /data/db --bind_ip 0.0.0.0
0
rakeshz