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.
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
Si vous utilisez Ubuntu, il y a un problème avec la propriété des dossiers.
Exécutez ces commandes:
Arrêtez le service MongoDB
Sudo service mongodb stop
Supprimer le fichier de verrouillage MongoDB
Sudo rm /var/lib/mongodb/mongod.lock
Changer la propriété de la racine au chemin MongoDB
Sudo chown -R mongodb:mongodb /var/lib/mongodb/
Démarrer le service MongoDB
Sudo service mongodb start
Testez l'application mongo
mongo
Ensuite, vous pourrez exécuter avec succès (j'espère).
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í mongo
nyní v jiném okně.
Doufám, je vous en prie, fungovat pro! Vous pouvez également télécharger des données de sauvegarde, à savoir mongo
recovery .
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.
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.
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!
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
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