web-dev-qa-db-fra.com

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

quand j'ai installé Mongodb dans mon Ubuntu, j'essaie: ./mongo il montre cette erreur:

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

alors qu'est-ce que je peux faire ,

merci

87
zjm1126
  • 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 les points suivants:

  • Vous devez exécuter cette commande en tant qu'utilisateur mongodb. Si vous l'exécutez en tant que root, celui-ci possédera les fichiers nécessaires dans le répertoire/var/lib/mongodb/nécessaires pour exécuter le démon mongodb. Par conséquent, lorsque le démon s'exécutera ultérieurement en tant qu'utilisateur mongodb, il ne sera pas autorisé à démarrer. . 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 Autorisation refusée, annulation.
  • Sous Ubuntu, vous devez spécifier le fichier de configuration /etc/mongodb.conf à l'aide de l'indicateur -f. Sinon, il recherchera les fichiers de données au mauvais endroit et vous verrez le message d'erreur suivant: dbpath (/ data/db /) n'existe pas, se terminant.
124
fady mohamed osman
Sudo rm /var/lib/mongodb/mongod.lock   
Sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
Sudo service mongodb start

Voilà, parfois, il faut un peu de temps pour commencer le Mongo après avoir effectué ces opérations.

32
Rubyrider

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

Ensuite, vous avez rencontré une erreur de démarrage de base assez commune.

Par défaut, Mongodod essaiera d'utiliser/data/db pour ses fichiers de base de données, qui dans ce cas n'existent pas.

Vous ne pouvez pas commencer

mongo 

jusqu'à ce que vous manipulez

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-- Obtenir une erreur, "Erreur: impossible de se connecter au serveur 127.0.0.1 Shell/mongo.js" & en essayant d'exécuter mongodb sur mac osx lion

21
boulder_ruby

En réalité, ce n’est pas une erreur ... Ce qui se passe ici est que Mongo s’appuie sur un démon pour pouvoir exécuter le serveur de base de données local. "Lancez" le serveur Mongo de votre shell, vous devez démarrer le service Mongo d'abord.

Pour Fedora Linux (quelle est la distro que j'utilise), vous devez exécuter ces commandes:

1 Sudo service mongod start
2 mongo

Et voila! le serveur va fonctionner. Maintenant, si vous voulez que le service Mongo démarre au démarrage du système, vous devez exécuter:

Sudo chkconfig --levels 235 mongod on

Et c'est tout! Si vous faites cela, maintenant dans le shell il vous suffit de taper mongo pour démarrer le serveur mais c'est à peu près tout le problème est que vous devez d'abord lancer le SERVICE, puis le SERVEUR :)

P.S. Les commandes que j'ai postées peuvent également fonctionner sur d'autres distributions Linux, pas seulement dans Fedora ... Dans le cas contraire, vous devez modifier quelques mots en fonction de la distribution que vous utilisez;)

20
Jmlevick

J'ai eu le même problème quand j'ai essayé d'installer Mongo. J'ai eu une erreur comme

Erreur

"Error: couldn't connect to server 127.0.0.1 Shell/mongo.js:84"

Solution:

Commencez par installer Mongod en utilisant:

Sudo apt-get install mongodb-server

Puis tapez

mongod --dbpath /mongo/db

Ensuite

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

Ensuite

Sudo -u mongodb mongod -f /etc/mongodb.conf  --repair

Je vous remercie

9
Samarth P Shenoy

Vous devez supprimer le fichier de verrouillage mongod.lock ou /var/lib/mongodb/mongod.lock sur Ubuntu, vous devez alors exécuter mongod.exe ou service mongodb start sur Ubuntu en premier, puis lancez mongo.exe ou mongo sur Ubuntu.

6
user1391225

Tout d’abord, vous devez vous assurer que tous les fichiers et répertoires de votre dossier/var/lib/mongodb/(ou du dossier désigné par dbpath) appartiennent à l’utilisateur mongodb et au groupe mongodb.

cd /var/lib/mongodb/
Sudo chown mongodb filename.*
Sudo chgrp mongodb filename.*
Sudo chown -R mongodb directory
Sudo chgrp -R mongodb directory

(Remplacez le nom de fichier et le répertoire par leurs noms respectifs)

Ensuite, vous pouvez supprimer le verrou, réparer la base de données et redémarrer le démon comme d’autres personnes déjà mentionnées:

Sudo rm /var/lib/mongodb/mongod.lock   
Sudo -u mongodb mongod -f /etc/mongodb.conf --repair 
Sudo service mongodb start
5
Tom Desair

Soit votre mongod n'est pas en cours d'exécution (vérifiez avec la commande "ps"), soit il écoute sur une adresse IP extérieure et non sur localhost. Donc, vérifiez d'abord la liste des processus si "Mongod" est en cours d'exécution. Si oui, vérifiez avec "netstat -nap" pour le port associé.

Bien sûr, vous pouvez démarrer mongod sur la console manuellement ou même regarder dans le fichier journal de mongod (s'il en existe un configuré ... en fonction de la façon dont vous avez installé mongod).

5
Andreas Jung

Commencez par démarrer votre serveur Mongo par

Users-MacBook-Pro:csv1 Admin$ mongod
all output going to: /usr/local/var/log/mongodb/mongo.log

Puis ouvrez une autre fenêtre de terminal et ouvrez Shell

Users-MacBook-Pro:csv1 Admin$ mongo
5
Tarun Gupta

Vérifiez également que votre partition racine dispose de suffisamment d’espace pour démarrer Mongod.

df -h /

Vous verrez ça comme ça au lancement de Mongod:

Mon Aug 12 17:02:59.159 [initandlisten] recover : no journal files present, no recovery needed
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] ERROR: Insufficient free space for journal files
Mon Aug 12 17:02:59.159 [initandlisten] Please make at least 3379MB available in /var/lib/mongodb/journal or use --smallfiles
Mon Aug 12 17:02:59.159 [initandlisten] 
Mon Aug 12 17:02:59.159 [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
Mon Aug 12 17:02:59.159 dbexit: 
Mon Aug 12 17:02:59.159 [initandlisten] shutdown: going to close listening sockets...
2
DmitrySandalov

Sur Ubuntu, essayez ceci:

Sudo invoke-rc.d mongodb start
1
Victor

J'ai résolu ce problème sur Ubuntu 12.04 en procédant comme suit:
1) Sudo rm/var/log/mongodb
2) Sudo rm/var/lib/mongodb
3) J'ai enlevé le mongo, puis je l'ai réinstallé
4) Sudo service mongodb restart

et tout va bien

1
Almas

Il pourrait s'agir d'une combinaison de $ PATH et d'un problème de permission.

Essayez les étapes suivantes ci-dessous:

Mettez à jour votre variable $ PATH pour qu'elle pointe vers votre fichier MongoDB bin. Dans mon cas, installez MongoDB dans ce dossier:

/usr/local/Cellar/mongodb/2.4.6/

Afin de mettre à jour votre variable $ PATH, procédez comme suit:

$ Sudo vi /etc/paths

Appuyez ensuite sur "i" pour insérer du texte dans Vi, ajoutez le chemin de votre MongoDB à la fin du fichier "chemins" et redémarrez le terminal.

/usr/local/Cellar/mongodb/2.4.6/bin

Utilisez ‘Esc: w q’ pour enregistrer et quitter l’éditeur Vi.

Utilisez echo pour afficher votre variable de chemin:

$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/Cellar/mongodb/2.4.6/bin

Maintenant, essayez de vérifier la version Mongo, si vous suivez, alors vous êtes sur la bonne voie!

$ mongo --version
MongoDB Shell version: 2.4.6

Nous devons maintenant créer le répertoire de la base de données. J’ai utilisé l’emplacement par défaut ‘/ data/db’ suggéré dans la documentation MongoDB. J'ai également créé un répertoire de journaux pour éviter tout problème d'autorisation pendant que Mongo essayait de créer des journaux. Changer de propriétaire et cela fera le travail.

$ Sudo mkdir /data/db
$ Sudo mkdir /data/log
$ whoami
username
$ chown -R username /data

Maintenant, nous allons créer un fichier de configuration par défaut pour MongoDB à fournir pour la première fois, nous exécutons la commande ‘mongod’. Maintenant, je voudrais aussi souligner que ‘mongod’ va démarrer un service, qui écoutera les connexions de données entrantes. C’est similaire si vous exécutez ‘$ service mysqld start’. Continuez et créez le fichier de configuration. Veuillez garder à l'esprit que j'ai créé un fichier de configuration très basique. Cependant, vous pouvez ajouter de nombreuses autres variables pour configurer MongoDB. C’est la première fois que je joue avec MongoDB, je sais donc autant que j’ai lu sur la documentation MongoDB! J’ai créé ‘mongodb.conf’.

$ Sudo vi /etc/mongodb.conf

Ajouter ce qui suit:

fork = true
port = 27017
quiet = true
dbpath = /data/db
logpath = /data/log/mongod.log
logappend = true
journal = true

Veuillez noter que le port par défaut du serveur MongoDB est 27017. Utilisez votre propre chemin pour dbpath et logpath que vous avez créé à l’étape 5. N'oubliez pas de fermer et d’enregistrer le fichier conf.

Nous sommes maintenant tous prêts à démarrer notre service MongoDB. Ouvrez deux instances de Terminal.In Terminal 1, tapez:

$ Sudo mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 3516
all output going to: /data/log/mongod.log
child process started successfully, parent exiting

Si vous obtenez le message ci-dessus, sachez que vous avez démarré votre service Mongod avec succès.

Maintenant, pour vous y connecter, tapez dans Terminal 2:

$mongo test
MongoDB Shell version: 2.4.6
connecting to: test
Server has startup warnings:
Tue Sep 3 16:55:43.527 [initandlisten]
Tue Sep 3 16:55:43.527 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
>

Ignorez les avertissements, mais vous êtes connecté avec succès à la base de données ‘test’! Cool!

C'est tout. J'ai appliqué cette solution lorsque j'ai essayé d'installer une copie de MongoDB sur mon Mac pour la première fois. Voyez si cela vous aide aussi.

Pour un article détaillé, vous pouvez aller ici - http://arcanebytes.com/2013/09/03/mongodb-installation-on-mac-os-x/#comment-1036112094 .

J'espère que ça aide!

À la vôtre, Chinmay

1
Chinmay