impossible de démarrer le serveur local mongodb
je suis nouveau à mongodb .. quand j'ai essayé d'exécuter mongodb local server avec la commande mongod
, il n'a pas réussi à lancer cette erreur..
/usr/lib/mongodb/mongod --help for help and startup options
Sat Jun 25 09:38:51 MongoDB starting : pid=1782 port=27017 dbpath=/data/db/ 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Sat Jun 25 09:38:51 db version v1.6.3, pdfile version 4.5
Sat Jun 25 09:38:51 git version: nogitversion
Sat Jun 25 09:38:51 sys info: Linux vernadsky 2.6.24-27-server #1 SMP Fri Mar 12 01:45:06 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Sat Jun 25 09:38:51 [initandlisten] *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
Sat Jun 25 09:38:51 [initandlisten] waiting for connections on port 27017
Sat Jun 25 09:38:51 [initandlisten] listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Sat Jun 25 09:38:51 [initandlisten] addr already in use
Sat Jun 25 09:38:51 [initandlisten] now exiting
Sat Jun 25 09:38:51 dbexit:
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close listening sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to flush oplog...
Sat Jun 25 09:38:51 [initandlisten] shutdown: going to close sockets...
Sat Jun 25 09:38:51 [initandlisten] shutdown: waiting for fs preallocator...
Sat Jun 25 09:38:51 [initandlisten] shutdown: closing all files...
Sat Jun 25 09:38:51 closeAllFiles() finished
Sat Jun 25 09:38:51 [initandlisten] shutdown: removing fs lock...
Sat Jun 25 09:38:51 dbexit: really exiting now
j'ai essayé de supprimer le fichier mongod.lock
...
J'ai couru mongod --repair
..
J'ai aussi changé les permissions en fichier mongod.lock
.
mais rien ne semble fonctionner.. il continue de s'afficher de la même erreur.. que dois-je faire.?
j'ai aussi installé la version 1.7.4.1 de git mais il montre nogitversion dans l'erreur..
25 réponses
, Essayez:
sudo service mongod stop
sudo mongod
pour arrêter le service actif courant mongodb, vous permettant alors de commencer un nouveau
ne pas tuer le processus en utilisant le signal -9 car il causerait des dommages: http://www.mongodb.org/display/DOCS/Starting + et + arrêt+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal 151940920"
utiliser sudo killall -15 mongod
au lieu de
Andreas Jung:
"Sat Jun 25 09:38:51 [initandlisten] listen (): bind () a échoué errno: 98 Adresse déjà utilisée pour socket: 0.0.0.0: 27017
est de langue maternelle.
une autre instance de mongod exécute déjà et alloue le port par défaut de MongoDB qui est 27017.
soit tuer l'autre processus ou utiliser un port différent."
Dans ce cas, tapez la commande suivante
ps wuax | grep mongo
Vous devriez voir quelque chose qui ressemble à ce
User 31936 0.5 0.4 2719784 35624 ?? S 7:34pm 0:09.98 mongod
User 31945 0.0 0.0 2423368 184 s000 R+ 8:24pm 0:00.00 grep mongo
entre maintenant la commande kill pour l'instance de mongod (31936 dans ce cas):
kill 31936
Sat Jun 25 09: 38: 51 [initandlisten] listen (): bind () a échoué errno: 98 L'adresse à utiliser pour la prise: 0.0.0.0:27017
est de langue maternelle.
une autre instance de mongod exécute déjà et alloue le port par défaut de MongoDB qui est 27017.
soit tuer l'autre processus ou utiliser un port différent.
Découvrez de netstat quel processus est en cours d'exécution port mongodb (27017)
commande:
sudo netstat -tulpn | grep :27017
sortie sera:
tcp 0 0 0.0.0.0:27017 0.0.0.0:*
LISTEN 6432/mongod
Dans mon cas "6432" est le pid, il peut être différent dans votre cas. Puis tuez ce processus en utilisant la commande suivante:
sudo kill <pid>
That's it!
vous avez déjà un processus en cours. Vous pouvez le tuer avec la commande :
killall mongod
utiliser:
sudo killall mongod
il arrêtera le serveur.
puis redémarrer mongod
par:
sudo service mongod restart
ça devrait marcher.
Vous voulez faire killall -15 mongod
parce qu'il est toujours en cours d'exécution: Address already in use for socket: 0.0.0.0:27017
.
alors vous pouvez lancer mongod
à nouveau.
essayez un port différent si vous ne pouvez pas trouver de processus en cours d'exécution ou de les tuer ne fonctionne pas. Par exemple, essayez 27018 parce que la valeur par défaut est 27017.
mongod --port 27018
j'ai trouvé ça avec la commande, mongod --help
Essayez de killall -15 mongod/ killall mongod Même après cela, si cela ne fonctionne pas, supprimez le dossier de stockage db en tapant les commandes suivantes: sudo rm-rf / data / db sudo mkdir / data / db sudo chmod 777 / data / db
je suggère d'utiliser à la place:
$sudo service mongodb stop
ça pourrait marcher.
ouvrir le terminal et le type:
mkdir -p /data/db
puis entrer:
mongod
OS X. Moniteur D'Activité , chercher mongod , de la croix . puis courir à nouveau mongod. le problème est Résolu.
j'ai eu le même problème lorsque j'ai essayé d'ouvrir une nouvelle instance de mongod qui disait qu'elle fonctionnait déjà.
j'ai vérifié le docs et il a dit de taper
mongo
use admin
db.shutdownServer()
MongoDB incapable de démarrer est principalement due à l'arrêt impur. Pour y remédier, supprimer le mongod.fichier de verrouillage. Ce fichier est situé dans le dossier des données.
trouvez où se trouve votre dossier de données en regardant dans le mongodb.conf ou mongod.fichier conf. (Fichier Conf sous / etc sur les systèmes Linux.)
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
par exemple, en utilisant la configuration ci-dessus, le fichier est at /var/lib/mongodb/mongod.verrouillage. Il suffit de l'enlever et de redémarrer mongodb.
j'ai fait face au même problème. Bien que le service mongodb
ne fonctionne pas, le journal de bord portait le message address already in use
.
$netstat -tulpn | grep :27017
ne retourne rien
sur une analyse plus poussée a constaté que le problème était dû au fichier de verrouillage. Le service fonctionne correctement, après avoir supprimé le fichier lock et l'avoir redémarré.
$grep "dbpath" /etc/mongodb.conf
dbpath =/var/lib/mongodb
$ls /var/lib/mongodb/mongod.lock
$service mongod start
vérifier les journaux à /var/log/mongodb / mongod.journal et tenter d'en déduire l'erreur. Dans mon cas c'était
N'a pas réussi à débloquer socket file /tmp/mongodb-27017.sock errno:1 Opération non autorisée
supprimé/tmp / mongodb-27017.chaussette et cela a fonctionné.
essayer
/usr/lib/mongodb / mongod.exe -- dbpath c:data\db
-- dbpath (doit être suivi du chemin de votre db)
il est possible que le serveur soit déjà en cours d'exécution. S'il vous plaît vérifier par la commande mongo fonctionne ou pas.
il affiche l'erreur listen (): bind () errno:98 Adresse déjà utilisée pour socket: 0.0.0: 27017 c'est à dire 27017 adresse est déjà utilisé par un autre service. veuillez le vérifier en "netstat-apt / grep "27017"" commande
(si vous utilisez linux,) si
mongod --shutdown --config=path/to/your/configFile.conf
ou
mongod --repair --config=path/to/your/configFile.conf
n'a pas corrigé le problème, déconnexion et re-login . Qui a résolu mon problème.
ou vous pouvez tuer le processus manuellement à partir du terminal, je suppose.
il semble que la même erreur s'affiche dans les logs lorsque vous manquez le paramètre D'environnement LC_ALL. C'est déroutant, mais vous pouvez exécuter mongo
client pour voir que c'est un problème.
si vous utilisez mongo pour la première fois, vous pourriez vouloir définir le chemin en premier
mongod --dbpath <path to the directory>
pour compléter dans Windows :
par exemple mongoDB version 3.6 est installé, et le chemin d'installation de MongoDB est "D:\Program Files \ MongoDB".
créer un dossier D:\mongodb\logs, puis Créer fichier mongodb.connectez-vous dans ce dossier.
lancer cmd.exe as administrateur ,
D:\Program Files\MongoDB\Server.6\bin>taskkill /F /IM mongod.exe
D:\Program Files\MongoDB\Server.6\bin>mongod.exe --logpath D:\mongodb\logs\mongodb.log --logappend --dbpath D:\mongodb\data --directoryperdb --serviceName MongoDB --remove
D:\Program Files\MongoDB\Server.6\bin>mongod --logpath "D:\mongodb\logs\mongodb.log" --logappend --dbpath "D:\mongodb\data" --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
supprimer ces deux fichiers mongod.lock
et storage.bson
sous le dossier "D:\mongodb\data".
tapez ensuite net start MongoDB
dans le cmd en utilisant le privilège administrateur, le problème sera résolu.
le processus de mise à mort n'a pas résolu mon problème. Mon mac s'était crashé et en redémarrant certains fichiers de verrouillage (mongod.de verrouillage, WiredTiger.lock) étaient présents dans le mongo dbPath. J'ai déplacé ces fichiers dans un autre dossier (je n'ai pas supprimé pour éviter plus de problèmes) et puis ça a fonctionné. Sur successul star, j'ai effacé les fichiers de verrouillage déplacés.