168 votes

Impossible de démarrer le serveur local mongodb

Je suis novice en matière de mongodb. Lorsque j'ai essayé d'exécuter le serveur local de mongodb avec la fonction mongod la commande ne s'est pas exécutée et a généré 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é d'effacer mongod.lock fichier... J'ai lancé mongod --repair .. J'ai aussi changé les permissions pour mongod.lock fichier.

mais rien ne semble fonctionner il continue à montrer la même erreur que dois-je faire ?

J'ai également installé la version 1.7.4.1 de git. mais il montre nogitversion en erreur

0 votes

J'ai eu le même problème et cette solution a fonctionné pour moi. stackoverflow.com/questions/5798549/

177voto

morphy Points 561

Essayez :

sudo service mongod stop
sudo mongod

Pour arrêter le service mongodb actif, ce qui vous permet d'en démarrer un nouveau.

1 votes

J'ai également reçu le message de service mais j'ai décidé de l'ignorer et d'essayer de redémarrer à nouveau avec "sudo mongod" et après cela, cela a finalement fonctionné.

2 votes

Ne devrait-on pas dire mongod (et non mongodb) ? Basé sur docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

5 votes

sudo service mongodb stop a fonctionné pour moi sur Ubuntu 14.10.

152voto

R.S Points 113

N'arrêtez pas le processus en utilisant le signal -9 car cela pourrait causer des dommages : http://www.mongodb.org/display/DOCS/Starting+et+arrêt+Mongo#Démarrage+arrêt+Mongo-Envoi d'un signal UnixINT ouTERMsignal

Utilice sudo killall -15 mongod au lieu de

2 votes

Cela ne répond pas à la question initiale.

9 votes

killall mongod fait également la même chose. -15 dit à killall pour envoyer un signal SIGTERM, ce qu'il fait par défaut.

4 votes

En fait, faire un killall a fonctionné pour moi au lieu d'essayer d'arrêter le service. Donc, même si ça ne répond pas aux questions. C'était utile

60voto

Sacha Nacar Points 25

Andreas Jung :

"Sat Jun 25 09:38:51 [initandlisten] listen() : bind() failed errno:98 Adresse déjà utilisée pour la socket : 0.0.0.0:27017

s'exprime d'elle-même.

Une autre instance de mongod est déjà en cours d'exécution et alloue le port par défaut de MongoDB qui est 27017.

Soit on tue l'autre processus, soit on utilise un autre port."

Dans ce cas, tapez la commande suivante

ps wuax | grep mongo

Vous devriez voir quelque chose qui ressemble à ceci

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

Maintenant entrez la commande kill pour l'instance mongod (31936 dans ce cas) :

kill 31936

29voto

Andreas Jung Points 1

Sat Jun 25 09:38:51 [initandlisten] listen() : bind() failed errno:98 L'adresse est déjà utilisée pour le socket : 0.0.0.0:27017

s'exprime d'elle-même.

Une autre instance de mongod est déjà en cours d'exécution et alloue le port par défaut de MongoDB qui est 27017.

Soit on tue l'autre processus, soit on utilise un autre port.

47 votes

J'ai trouvé ceci sur la page de démarrage... **When mongodb** est installé via aptitude, il est déjà en cours d'exécution (donc dans l'exemple vous ne devez pas pour le démarrer). Ensuite, tapez simplement : $ mongo ... puisque je n'ai personnellement pas démarré mongod et que je suivais le tutoriel de démarrage rapide ... je ne savais pas qu'il était déjà en cours d'exécution ...

0 votes

@Sakti : Oui, ça fonctionne déjà pour moi ! Je suppose que je l'ai fait via aptitude. Merci !

29voto

kabirkukreti Points 47

Découvrez à partir de netstat quel processus exécute le port mongodb (27017)

commandement :

sudo netstat -tulpn | grep :27017

La 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. Ensuite, tuez ce processus en utilisant la commande suivante :

sudo kill <pid>

C'est ça !

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