87 votes

Impossible de se connecter au serveur 127.0.0.1 shell/mongo.js

Quand j'ai installé mongodb dans mon ubuntu, j'ai essayé : ./mongo il y a cette erreur :

 couldn't connect to server 127.0.0.1 shell/mongo.js

Alors, que puis-je faire ?

merci

124voto

fady mohamed osman Points 1459
  • Supprimez manuellement le fichier de verrouillage : sudo rm /var/lib/mongodb/mongod.lock
  • Exécutez le script de réparation : sudo -u mongodb mongod -f /etc/mongodb.conf --repair

Veuillez noter ce qui suit :

  • Vous devez exécuter cette commande en tant qu'utilisateur mongodb. Si vous l'exécutez en tant que Root, alors Root possèdera des fichiers dans /var/lib/mongodb/ qui sont nécessaires pour le démon mongodb et donc quand le démon essaiera de s'exécuter plus tard plus tard en tant qu'utilisateur mongodb, il n'aura pas les permissions pour démarrer. Dans Dans ce cas, vous obtiendrez cette erreur : Impossible de créer / ouvrir le fichier de verrouillage pour lockfilepath : /var/lib/mongodb/mongod.lock errno:13 Permission refusée, terminaison. denied, terminating.
  • Sur Ubuntu, vous devez spécifier le fichier de configuration /etc/mongodb.conf en utilisant l'option -f. Sinon, il cherchera les fichiers de données au mauvais de données au mauvais endroit et vous verrez l'erreur suivante : dbpath (/data/db/) n'existe pas, terminaison.

32voto

Irfan Ahmed Points 456
sudo rm /var/lib/mongodb/mongod.lock   
sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
sudo service mongodb start

Voilà tout, parfois, il faut un peu de temps pour démarrer mongo après avoir effectué ces opérations.

21voto

boulder_ruby Points 6257

Essayer de lancer $mongod

Si vous obtenez une erreur telle que

MongoDB shell version: 2.0.5
connecting to: test
Fri Jun  1 11:20:33 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

hisham-agil:~ hisham$ mongod
mongod --help for help and startup options
Fri Jun  1 11:24:47 [initandlisten] MongoDB starting : pid=53452 port=27017 dbpath=/data/db/ 64-bit host=hisham-agil.local
Fri Jun  1 11:24:47 [initandlisten] db version v2.0.5, pdfile version 4.5
Fri Jun  1 11:24:47 [initandlisten] git version: nogitversion
Fri Jun  1 11:24:47 [initandlisten] build info: Darwin gamma.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:48:32 PST 2012; root:xnu-1699.24.23~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49
Fri Jun  1 11:24:47 [initandlisten] options: {}
Fri Jun  1 11:24:47 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db/) does not exist, terminating
Fri Jun  1 11:24:47 dbexit: 
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close listening sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to flush diaglog...
Fri Jun  1 11:24:47 [initandlisten] shutdown: going to close sockets...
Fri Jun  1 11:24:47 [initandlisten] shutdown: waiting for fs preallocator...
Fri Jun  1 11:24:47 [initandlisten] shutdown: lock for final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: final commit...
Fri Jun  1 11:24:47 [initandlisten] shutdown: closing all files...
Fri Jun  1 11:24:47 [initandlisten] closeAllFiles() finished
Fri Jun  1 11:24:47 dbexit: really exiting now

Alors vous avez rencontré une erreur de démarrage de base qui est assez courante.

Par défaut, mongod va essayer d'utiliser /data/db pour ses fichiers de base de données, qui dans ce cas, n'existe pas.

Vous ne pouvez pas commencer

mongo 

jusqu'à ce que vous manipuliez

mongod.

Essayez de créer ces répertoires et assurez-vous qu'ils sont accessibles en écriture par le même utilisateur que celui qui exécute le processus mongod.

**Voir question similaire-- J'obtiens une erreur, "Error : couldn't connect to server 127.0.0.1 shell/mongo.js" & lorsque j'essaie d'exécuter mongodb sur mac osx lion

20voto

Jmlevick Points 1137

En fait, il ne s'agit pas d'une erreur... Ce qui se passe ici, c'est que Mongo s'appuie sur un fichier démon afin d'exécuter le serveur de base de données local, donc afin de "lancer" l'application serveur mongo dans votre shell, vous devez lancer le service mongo d'abord.

Pour Fedora Linux (qui est la Distro que j'utilise) Vous devez exécuter ces commandes :

1 sudo service mongod start
2 mongo

Et voilà, le serveur va fonctionner. Maintenant, si vous voulez que le service Mongo démarre lorsque le système démarre, alors vous devez exécuter :

sudo chkconfig --levels 235 mongod on

Et c'est tout ! Si vous faites cela, maintenant dans le shell vous avez juste à taper mongo dans l'ordre pour démarrer le serveur mais c'est à peu près tout, le problème est que vous devez d'abord démarrer le SERVICE et ensuite le SERVEUR :)

P.S. Les commandes que j'ai postées peuvent fonctionner sur d'autres distributions linux, pas seulement sur fedora... Dans le cas contraire, vous devez peut-être modifier quelques mots selon la distro que vous utilisez ;)

6voto

user1391225 Points 61

Vous devez supprimer le fichier de verrouillage mongod.lock o /var/lib/mongodb/mongod.lock sur ubuntu, alors vous devez exécuter mongod.exe o service mongodb start sur ubuntu d'abord, puis lancez mongo.exe o mongo sur ubuntu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X