web-dev-qa-db-fra.com

Errr 'mongo.js: L112 Erreur: impossible de se connecter au serveur 127.0.0.1:27017 à l'adresse src/mongo/Shell/mongo.js: L112'

Je ne peux pas me connecter à MongoDB . Dans Ubuntu, cela fonctionne, mais je travaille dans CentOS maintenant. C'est le message d'erreur:

Version de MongoDB Shell: 2.4.2
connexion à: test
Sam 20 avr 07: 22: 09.390 Echec de l'exécution de JavaScript: Erreur: impossible de se connecter au serveur 127.0.0.1:27017 à l'adresse src/mongo/Shell/mongo.js: L112
exception: échec de la connexion

J'ai essayé de supprimer le fichier mongod.lock, mais cela ne fonctionne pas.

32
user1992275

Essayez de supprimer /var/lib/mongodb/mongod.lock et de redémarrer le service mongdo

Sudo rm /var/lib/mongodb/mongod.lock
Sudo service mongodb restart
34
ccma

Si vous utilisez Ubuntu, il y a un problème avec la propriété des dossiers.

Exécutez ces commandes:

  1. Arrêtez le service MongoDB

    Sudo service mongodb stop
    
  2. Supprimer le fichier de verrouillage MongoDB

    Sudo rm /var/lib/mongodb/mongod.lock
    
  3. Changer la propriété de la racine au chemin MongoDB

    Sudo chown -R mongodb:mongodb /var/lib/mongodb/
    
  4. Démarrer le service MongoDB

    Sudo service mongodb start
    
  5. Testez l'application mongo

    mongo
    

Ensuite, vous pourrez exécuter avec succès (j'espère).

Référence: réponse sur le site Pile Exchange Administrateurs de base de données à Erreur: impossible de se connecter au serveur 127.0.0.1:27017 src/mongo/Shell/mongo.js: 91 lors de la modification du répertoire de données mongodb !

78
Sumit Ramteke

Tato metoda funguje pouze v případě, çà chcete opravit datové soubory bez zachování původních souborů. Chet-li zjistit, kde se nachází dbpath, použijte

vim /etc/mongodb.conf

Zkontrolujte volbu dbpath=.

(Mám dbpath=/var/lib/mongodb.)

Výchozí hodnota: /data/db/

Typická umístění zahrnují /srv/mongodb, /var/lib/mongodb nebo /opt/mongodb.

Nahraďte /var/lib/mongodb vaší dbpath

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

(En savoir plus, en savoir plus, en savoir plusCtrl+Cnebo jej ukončete.) Zadejte příkaz pro spuštění mongonyní v jiném okně.

Doufám, je vous en prie, fungovat pro! Vous pouvez également télécharger des données de sauvegarde, à savoir mongorecovery .

16
poorva

J'ai eu le même problème dans le passé. Dans mon cas, l’espace disponible pour les fichiers journaux était insuffisant. Libérer de l'espace a résolu le problème.

3
lkrzysiak

J'ai rencontré le même problème. Exécuter mongod dans bin (où vous avez installé votre mongodb) a fonctionné pour moi. J'ai aussi eu peu d'espace. 

2
modon

Je ne sais pas pourquoi la réponse de @lkrzysiak a été rejetée: cela a fonctionné pour moi! L'espace libre insuffisant PEUT être la source de cette erreur que j'ai aussi, consultez les journaux que j'ai obtenus:

    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...

Après quelques travaux de nettoyage pour libérer de l'espace, cela a fonctionné à merveille!

2
edelans

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 bin MongoDB. 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

Ensuite, appuyez 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. Changez 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. N'oubliez pas 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

Notez que le port par défaut pour le 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! 

Cheers, Chinmay

0
Chinmay

Vous obtenez également cette erreur si vous avez modifié le port par défaut pour mongoDB dans /etc/mongo.conf

Pour vous connecter via le shell dans ce cas, utilisez: -

$mongo 127.0.0.1:your_new_port_number

OR

$mongo -u <user> -p <pass> --Host <Host> --port your_new_port_number

à partir de Documents MongoDB

0
gittinOld