web-dev-qa-db-fra.com

mongo - impossible de se connecter au serveur 127.0.0.1:27017

Je viens de riak et redis où je n’ai jamais eu de problème avec le démarrage ou l’interaction de ces services.

C'est un problème omniprésent avec le mongo et je suis plutôt désemparé. Le redémarrage n'aide pas. Je suis nouveau à Mongo. 

mongo
MongoDB Shell version: 2.2.1
connecting to: test
Fri Nov  9 16:44:06 Error: couldn't connect to server 127.0.0.1:27017 src/mongo/Shell/mongo.js:91
exception: connect failed

C'est ce que je vois dans les journaux.

 now open)
Fri Nov  9 16:44:34 [conn47] end connection 10.29.16.208:5306 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5307 #48 (2 connections now open)
Fri Nov  9 16:45:04 [conn48] end connection 10.29.16.208:5307 (1 connection now open)
Fri Nov  9 16:45:04 [initandlisten] connection accepted from 10.29.16.208:5308 #49 (2 connections now open)
Fri Nov  9 16:45:04 [conn49] end connection 10.29.16.208:5308 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5316 #50 (2 connections now open)
Fri Nov  9 16:45:34 [conn50] end connection 10.29.16.208:5316 (1 connection now open)
Fri Nov  9 16:45:34 [initandlisten] connection accepted from 10.29.16.208:5317 #51 (2 connections now open)
Fri Nov  9 16:45:34 [conn51] end connection 10.29.16.208:5317 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5320 #52 (2 connections now open)
Fri Nov  9 16:46:04 [conn52] end connection 10.29.16.208:5320 (1 connection now open)
Fri Nov  9 16:46:04 [initandlisten] connection accepted from 10.29.16.208:5321 #53 (2 connections now open)
Fri Nov  9 16:46:04 [conn53] end connection 10.29.16.208:5321 (1 conn
109
Tampa

Cette erreur correspond à ce que vous verriez si le shell mongo n’était pas capable de communiquer avec le serveur Mongod.

Cela peut être dû au fait que l'adresse était incorrecte (hôte ou IP) ou qu'elle ne fonctionnait pas. Une chose à noter est que la trace du journal fournie ne couvre pas le "vendredi 9 novembre 16h44:06" de votre mongo timestamp

Peut tu:

  1. Fournissez les arguments de ligne de commande (le cas échéant) utilisés pour démarrer votre processus Mongod.
  2. Indiquez l'activité du fichier journal depuis le démarrage de Mongod ainsi que les journaux Lors de la tentative de démarrage de Shell Mongo?
  3. Confirmez que votre processus de mongod est démarré sur la même machine que le shell mongo.
37
Jenna

Normalement, cela est dû au fait que vous n'avez pas démarré le processus mongod avant d'essayer de démarrer mongo Shell. 

Démarrer le serveur Mongod

mongod

Ouvrir une autre fenêtre de terminal

Commencez Shell mongo

mongo
219
Ravi Hamsa

Résolu.

Ce problème pourrait être résolu en 4 étapes mentionnées ci-dessous 

1) Supprimer le fichier .lock

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

2) réparer le mongodb 

mongod –repair

3) démarrer le serveur Mongod

Sudo service mongod start 

4) démarrer le client mongo 

mongo

Pour plus de détails, consultez http://shakthydoss.com/error-couldnt-connect-to-server-127-0-0707017-srcmongoshellmongo-js-exception-connect-failed/

http://shakthydoss.com/technical/error-couldnt-connect-to-server-127-0-0-127017-srcmongoshellmongo-js-exception-connect-failed/

55
shakthydoss

Cette méthode ne fonctionne que si vous voulez réparer vos fichiers de données sans conserver les fichiers originaux

Pour trouver où réside votre chemin dbpath - vim /etc/mongodb.conf

recherchez l'option dbpath =

(J'ai dbpath =/var/lib/mongodb)

Défaut:/data/db /

Les emplacements typiques incluent:/srv/mongodb,/var/lib/mongodb ou/opt/mongodb.

Remplacez le / var/lib/mongodb par votre dbpath

Sudo rm /var/lib/mongodb/mongod.lock
Sudo mongod --dbpath /var/lib/mongodb/ --repair
Sudo mongod --dbpath /var/lib/mongodb/ --journal

(Assurez-vous de laisser le terminal en cours d'exécution dans lequel vous avez dépassé les lignes, N'appuyez pas sur 'Ctrl + c' ou quittez-le.) Tapez la commande pour démarrer mongo maintenant dans une autre fenêtre.

J'espère que cela fonctionne pour toi ! pour ceux qui veulent réparer vos fichiers de données tout en préservant les fichiers originauxmongo récupérer

35
poorva

Dans mon cas:

J'ouvre d'abord le fichier de configuration

Sudo vi /etc/mongodb.conf

Commentaire IP et Port comme ça

#bind_ip = 127.0.0.1
#port = 27017

Puis redémarrez mongodb

Sudo service mongodb restart
Sudo service mongod restart

Enfin, c’est le travail: D

finn@Finn ~ $ mongo
MongoDB Shell version: 2.4.9
connecting to: test
> exit
11
Finn

Assurez-vous que votre mongo est en cours d'exécution . J'ai résolu ce problème en essayant de réparer le mongodb, j'ai constaté que le répertoire requis pour l'exécution de la base de données n'était pas créé. Il montre cette erreur

Tapez: mongod, cela montrera l'erreur

exception in initAndListen: 29 Data directory /data/db not found., terminating

Une erreur est survenue car dbpath /data/db/ (configuration par défaut) n'existe pas. Vous devez créer un dossier de données et définir l'autorisation correspondante.

Ensuite, je crée un dossier sur mon système avec la commande

Sudo mkdir -p/data/db/ Et Sudo chown id -u/data/db

puis je lance à nouveau le mongo et cela fonctionne. 

Un peu trop tard avec la réponse mais j'ai rencontré le même problème 

Voici les étapes qui m'ont aidé.

  1. Aller à C: \
  2. Créer un dossier "data"
  3. Dans "data" créer un dossier "db"
  4. terminal ouvert (CMD) -> aller à EX: "c:\MongoDB\Server\3.4\bin"
  5. tapez mongod => cela démarrera le serveur mongo (laissez-le ouvert)

Exécuter en utilisant une interface graphique, EX "robomongo" 

Ou 

ouvrir un nouveau terminal (CMD) -> aller à EX: "c:\MongoDB\Server\3.4\bin" taper la commande "mongo"

9
user8895024

Si toutes les solutions ci-dessus ne fonctionnent pas: accédez à service (start>search>services) et démarrez le service mongodb. Puis, dans une invite de commande, après avoir accédé à bin, tapez :/>mongo

4
Khalid

Pour vous connecter à Mongo, nous devons d'abord démarrer les services 'Mongod' suivant vous pouvez voir:

$ mongod
2017-03-05T00:31:39.055+0530 I CONTROL  [initandlisten] MongoDB starting : pid=1481 port=27017 dbpath=/data/db 64-bit Host=Prabhu-Nandans-Mac.local
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] db version v3.4.2
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2k  26 Jan 2017
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] allocator: system
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] modules: none
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] build environment:
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     distarch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten]     target_Arch: x86_64
2017-03-05T00:31:39.056+0530 I CONTROL  [initandlisten] options: {}
2017-03-05T00:31:39.056+0530 W -        [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2017-03-05T00:31:39.057+0530 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-03-05T00:31:39.057+0530 W STORAGE  [initandlisten] Recovering data from the last clean checkpoint.
2017-03-05T00:31:39.057+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3584M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] 
2017-03-05T00:31:39.620+0530 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2017-03-05T00:31:39.643+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2017-03-05T00:31:39.643+0530 I NETWORK  [thread1] waiting for connections on port 27017
2017-03-05T00:31:40.008+0530 I FTDC     [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-03-05T00:32:03.832+0530 I NETWORK  [thread1] connection accepted from 127.0.0.1:49806 #1 (1 connection now open)
2017-03-05T00:32:03.833+0530 I NETWORK  [conn1] received client metadata from 127.0.0.1:49806 conn1: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.4.2" }, os: { type: "Darwin", name: "Mac OS X", architecture: "x86_64", version: "16.4.0" } }
2017-03-05T00:32:08.376+0530 I -        [conn1] end connection 127.0.0.1:49806 (1 connection now open)

Après cela, ouvrez un autre terminal et tapez simplement «mongo».

Vous trouverez ci-dessous la sortie:

$ mongo
MongoDB Shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2

Votre problème résolu :)

3

Je suis un utilisateur Windows et j'ai installé MongoDB en novembre 2018 et je ne voulais pas configurer les répertoires data/db. Mais après quelques jours, quand j’ouvre, j’ai un message d’erreur:

MongoDB Shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017
2018-12-05T20:42:40.108+0530 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: No connection could be made because the target machine actively refused it. :
connect@src/mongo/Shell/mongo.js:257:13
@(connect):1:6
exception: connect failed

Ensuite, j'ai essayé de réparer en utilisant toutes les réponses ci-dessus et je n'ai pas fonctionné. Quand j'ai essayé de courir Mongod c'est dit 

MongoDB starting : pid=12220 port=27017 dbpath=C:\data\db\ 64-bit Host=bla

J'ai essayé de changer le chemin de la base de données (vers les fichiers de programme) à l'aide du système de fichiers et également à l'aide de cmd mais ceux-ci ne fonctionnaient pas.

La solution qui a fonctionné pour moi est la suivante:

Ouverture de l'onglet Gestionnaire de tâches (ctrl + shift + esc) -> Services et il y avait une ligne MongoDB avec l'état arrêté. Puis j'ai cliqué droit et cliqué sur Démarrer et tout fonctionne parfaitement :).

3
Blasanka

Vous pouvez essayer avec la commande suivante:

Sudo service mongod start

J'ai aussi le même problème alors je me suis fixé par ces deux lignes de code. J'espère que ça aide

systemctl start mongod
systemctl enable mongod
1
Bahodir Boydedayev

Créez le dossier C: data/db s'il n'existe pas déjà sur votre ordinateur. Il s'avère que MongoDB nécessite l'existence de cette structure de dossiers 'data/db' pour s'exécuter. J'espère que ça aidera quelqu'un.

1
Amin Balogun

La cause par moi était l'espace - exécutez ceci dans la console:

df -h

ou plus spécifiquement:

du -hs /var/lib/mongodb/ 

pour vérifier l’utilisation du disque. Si c'est ~ 99% - juste un peu d'espace et essayez à nouveau!

1
tsveti_iko

La réponse de @shakthydoss a bien fonctionné une fois, mais après le deuxième numéro, le fichier .lock n’était plus là, j’en ai créé un vierge et tout a bien fonctionné. Alors vérifiez si le vôtre n'est pas là.

Si vous utilisez la ligne de commande:

cd /var/lib/mongodb

ls

"ls" listera tous les fichiers du dossier, si le fichier mongod.lock n’est pas là, alors:

Sudo touch mongod.lock

Enfin, exécutez la commande.

mongod –-repair

Sudo service mongod start 

Le service Mongo devrait bien fonctionner.

1
GAltelino

Cela se passait avec moi aujourd'hui et je l'ai résolu de la manière suivante. 

Machine: J'utilise Windows 10 et j'ai téléchargé la dernière version de MongoDB - Community Edition. 

Donc, le problème était que je n'avais pas créé C:\data\db

Sans créer C:\data\db, j'ai ouvert le terminal CMD et démarré la base de données à l'aide de la commande mongod au terminal 

C:\Votre chemin d'installation\bin> Mongod 

Et quand j’ai tiré la commande mongo, j’ai eu le problème.

Twist, j'ai créé les dossiers nécessaires, mais le problème persiste. Et c'est parce que le serveur Mongo était déjà en cours d'exécution. Pour résoudre ce problème, j'ai lancé à nouveau la commande mongod, qui a automatiquement référencé à C:\data\db.

D'autres utilisateurs ont suggéré d'ajouter C:\data\db mais n'ont pas parlé d'exécuter à nouveau mongod, ce qui a exactement résolu mon problème. 

1
Amnesh Goel

Une autre solution qui a résolu la même erreur pour moi, bien que celle-ci ne le soit peut-être que si vous accédez à mongo (localement) via une connexion SSH via une machine virtuelle (du moins c'est ma configuration), et peut être un problème de variable d'environnement spécifique à Linux:

export LC_ALL=C

De plus, j'ai plus de succès à exécuter Mongo en tant que service démon qu'avec le démarrage du service Sudo. Je crois comprendre que cela utilise des arguments en ligne de commande plutôt que le fichier de configuration, ce qui est probablement un problème avec mon fichier de configuration:

mongod --fork --logpath /var/log/mongodb.log --auth --port 27017 --dbpath /var/lib/mongodb/admin
1
edencorbin

Tout d’abord, allez à c:\mongodb\bin> pour activer mongoDB, si vous voyez dans la console que mongo est à l’écoute sur le port 27017, c’est OK Sinon, fermez la console et créez le dossier c:\data\db et relancez mongod

1
Monte Cristo

Tout d'abord, vous devez démarrer mongod server, puis dans un autre terminal, vous devez démarrer mongo Shell.

Pour démarrer, serveur Mongo

1. Si votre chemin est Chemin par défaut (data/db) simple tir mongod in terminal

2. Si votre chemin n'est pas data/db alors vous commandez comme as suivre: mongod --dbpath "voici votre chemin vient" .

Pour démarrer mongo Shell, Il suffit de tirer mongo dans un autre terminal

Si vous obtenez ceci en attente de connexions sur le port 27017 , votre mongo a démarré avec succès.

J'espère que vous pouvez obtenir mon point

0
Naimish Kher

Étapes à suivre pour résoudre ce problème sous Windows:

  1. Supprimez le fichier mongod.lock de C:\Program Files\MongoDB\Server\4.0\data
  2. Cliquez sur mongod dans C:\Program Files\MongoDB\Server\4.0\bin
  3. Cliquez sur mongo dans C:\Program Files\MongoDB\Server\4.0\bin pour lancer le shell mongodb
0
ashish naghate

si vous installez par brassage (sur osx) lancez Sudo mkdir /data/db démarrez le démon mondoDB en tapant mongod (laissez-le ouvert), puis exécutez mongo en tapant mongo dans le nouvel onglet du terminal

0
majid

MAC OS

Vérifier le statut

brew services list

Quelque chose comme:

Name    Status  User Plist
mongodb stopped  

commence le

brew services start mongodb

Essayez à nouveau

mongo ou mongo --port 27017 

0
William Hu

Créez simplement un dossier nommé "data" dans le lecteur C et dans le dossier de données, créez un autre dossier nommé "db". Puis exécutez mongod.exe :)

0
Rohan pawar

dans mon cas, sous Windows et Ubuntu, je devais créer un dossier /data/db à la racine. À Ubuntu, j'avais besoin d'une option supplémentaire. donner des permissions pour le répertoire.

les fenêtres

mkdir c:/data/db

ubuntu:

Sudo mkdir -p /data/db
Sudo chmod 700 /data/db

puis courir

Sudo service mongod start

vérifier

Sudo service mongod status

puis courir

mongo

Enfin j'ai eu c'est d'une manière simple ..

ouvrez le terminal et rendez-vous à l’emplacement mongodb. Dans mon cas c'est

e:\mongodb\bin> 

et tapez la commande suivante et appuyez sur entrée ..

mongod --config e:\mongodb\mongo.config

Ouvrez un autre terminal et lancez mongodb en utilisant

mongo.exe

Thats it .. vous pouvez utiliser le mongo 

0
Santhosh Kumar

C'est une vieille question, mais en tant que débutant, j'ai décidé d'ajouter (avec Webstorm) que vous devez cliquer sur Mongo Explorer (onglet situé à l'extrême droite de votre fenêtre). De là:

-Cliquez sur les paramètres .- Cliquez sur le bouton Parcourir (il ressemble à un bouton portant la mention "...") .- Allez dans Programmes> MongoDB> Server> 3.4> bin> mongo.exe différent de 3.4) - Après cela, cliquez sur le signe plus vert situé à droite. Une fenêtre s'ouvrira - Entrez un nom dans l'emplacement "Etiquette" .- Cliquez sur Appliquer.

Vous devriez maintenant être connecté. Entrer "Mongod" dans le terminal n'est pas suffisant. Vous devez également suivre les étapes ci-dessus.

Mes excuses par avance à ceux d'entre vous qui n'utilisent pas Webstorm! Pas sûr des étapes utilisant d'autres IDE.

0
David Mitchell

J'ai eu la même erreur lors de la connexion à Mongo sur AWS EC2. C'est ce qui a résolu le problème https://serverfault.com/a/347159/62381 Supprimez le bind_ip du fichier de configuration.

0
blueskin

Cela me travaille: -

Dans Mongo 3.2 pour fenêtre, vous devez démarrer le service Mongodb. Donc, lancez le Command Prompt as Administrator puisnet start MongoDB

0
vineet

J'ai eu le même problème pour connecter mongodb après l'installation en utilisant Brew sur Mac OS.

Le problème était aussi mongod.lock mais auparavant, mongodb 3.6 était installé et le répertoire de la base de données était /usr/local/var/mongodb. Il contient d’anciens fichiers et mongod.lock.

Simple, j'ai déplacé mes anciens fichiers de base de données dans un autre dossier et tout supprimé de /usr/local/var/mongodb

Puis redémarré:

brew services restart mongodb

Et ça fonctionne bien maintenant.

0
Mandeep Gill

j'ai eu le même problème, j'ai supprimé le fichier E:\Mongo Data Files\db\mongod.lock, il a donc commencé à fonctionner. le problème est dû à un arrêt incorrect du serveur. alors le fichier de verrouillage n'est pas propre.

0
usernaveen

si toutes les solutions ci-dessus ne fonctionnent pas, alors cela pourrait être une aide. Vous avez peut-être déjà été connecté à votre base de données mongodb locale via des boîtes vagabondes.

  1. vagrant up puis ssh dans votre machine vagabonde dans laquelle vous avez établi une connexion avec mongodb (vagrant ssh nom_box_rant)
  2. commentez la ligne bind_ip de /etc/mongod.conf en utilisant # (Sudo nano /etc/mongod.conf)
  3. redémarrez votre service démon mongodb (redémarrage de service Sudo service mongod) voila ...
0
Ashwin J Chhetri

Supprimez le fichier mongod.lock. Et lancez "mongod -repair". désinstaller/réinstaller le service Mongodod a résolu ce problème pour moi.

Merci.

0
Tun