Ich bin neu in Mongodb. Als ich versuchte, den lokalen Mongodb-Server mit dem mongod
Befehl auszuführen, konnte er nicht ausgeführt werden und warf diesen Fehler aus.
/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
Ich habe versucht, eine mongod.lock
Datei zu löschen ... Ich bin gelaufen mongod --repair
. Ich habe auch die Berechtigungen für mongod.lock
Datei geändert .
aber nichts scheint zu funktionieren .. es zeigt immer den gleichen Fehler .. was soll ich tun?
Ich habe auch Git Version 1.7.4.1 installiert, aber es zeigt fehlerhafte Nogitversion.
Antworten:
Versuchen:
So beenden Sie den aktuellen aktiven Mongodb-Dienst, dass Sie einen neuen starten können
quelle
sudo service mongodb stop
arbeitete für mich unter Ubuntu 14.10.brew services
. (via unix.stackexchange.com/questions/155715/… )Beenden Sie den Prozess nicht mit dem -9-Signal, da dies zu Schäden führen würde: http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo#StartingandStoppingMongo-SendingaUnixINTorTERMsignal
Verwenden Sie
sudo killall -15 mongod
stattdessenquelle
killall mongod
macht das gleiche auch. Das-15
sagtkillall
, dass ein SIGTERM-Signal gesendet werden soll, was standardmäßig der Fall ist.Geben Sie in diesem Fall den folgenden Befehl ein
Sie sollten etwas sehen, das so aussieht
Geben Sie nun den Befehl kill für die Mongod-Instanz ein (in diesem Fall 31936):
quelle
spricht selbst.
Eine andere Instanz von mongod wird bereits ausgeführt und weist den MongoDB-Standardport 27017 zu.
Beenden Sie entweder den anderen Prozess oder verwenden Sie einen anderen Port.
quelle
Finden Sie von netstat heraus, auf welchem Prozess der Mongodb-Port ausgeführt wird (27017).
Befehl:
Ausgabe wird sein:
In meinem Fall ist "6432" die PID, in Ihrem Fall kann es anders sein. Beenden Sie diesen Vorgang dann mit dem folgenden Befehl:
Das ist es!
quelle
Verwenden:
Der Server wird gestoppt.
Starten Sie dann neu
mongod
durch:es sollte funktionieren.
quelle
Sie haben bereits einen Prozess ausgeführt. Sie können es mit dem Befehl töten:
quelle
Sie möchten tun,
killall -15 mongod
weil es noch läuft :Address already in use for socket: 0.0.0.0:27017
.Dann kannst du
mongod
wieder rennen .quelle
killall mongod
?No matching processes belonging to you were found
Versuchen Sie es mit einem anderen Port, wenn Sie derzeit keine laufenden Prozesse finden oder das Beenden nicht funktioniert. Versuchen Sie beispielsweise 27018, da der Standardwert 27017 ist.
Ich fand das mit dem Befehl heraus,
mongod --help
quelle
Ich schlage stattdessen vor:
$sudo service mongodb stop
Das könnte funktionieren.
quelle
Versuchen Sie es mit killall -15 mongod / killall mongod. Auch danach entfernen Sie den Datenbankspeicherordner, indem Sie die folgenden Befehle eingeben: sudo rm -rf / data / db sudo mkdir / data / db sudo chmod 777 / data / db
quelle
OS X. Activity Monitor , suchen Sie nach Mongod , kreuzen Sie es. dann wieder mongod laufen. Problem gelöst.
quelle
Öffnen Sie das Terminal und geben Sie Folgendes ein:
Dann geben Sie ein:
quelle
Ich hatte das gleiche Problem, als ich versuchte, eine neue Instanz von Mongod zu öffnen, und es wurde angegeben, dass sie bereits ausgeführt wurde.
Ich habe die Dokumente überprüft und es wurde gesagt, dass ich tippen soll
quelle
MongoDB kann nicht gestartet werden, was hauptsächlich auf ein unsauberes Herunterfahren zurückzuführen ist. Um dies zu beheben, löschen Sie die Datei mongod.lock. Diese Datei befindet sich im Datenordner.
Finden Sie heraus, wo sich Ihr Datenordner befindet, indem Sie in der Datei mongodb.conf oder mongod.conf nachsehen. (Conf-Datei unter / etc auf Linux-Systemen.)
Bei Verwendung der obigen Konfiguration befindet sich die Datei beispielsweise unter /var/lib/mongodb/mongod.lock. Entfernen Sie es einfach und starten Sie mongodb neu.
quelle
Ich habe das gleiche Problem konfrontiert. Obwohl der
mongodb
Dienst nicht ausgeführt wird, wurde im Protokoll dieaddress already in use
Meldung angezeigt.gibt nichts zurück
Bei weiterer Analyse wurde festgestellt, dass das Problem auf eine Sperrdatei zurückzuführen war. Der Dienst läuft einwandfrei, nachdem die Sperrdatei gelöscht und neu gestartet wurde.
quelle
Suchen Sie unter /var/log/mongodb/mongod.log nach Protokollen und versuchen Sie, den Fehler abzuleiten. In meinem Fall war es
Fehler beim Aufheben der Verknüpfung der Socket-Datei /tmp/mongodb-27017.sock errno: 1 Vorgang nicht zulässig
/Tmp/mongodb-27017.sock gelöscht und es hat funktioniert.
quelle
Versuchen
/usr/lib/mongodb/mongod.exe --dbpath c: data \ db
--dbpath (sollte vom Pfad Ihrer Datenbank gefolgt werden)
quelle
Möglicherweise läuft der Server bereits. Bitte überprüfen Sie, ob der Befehl mongo funktioniert oder nicht.
quelle
Um das Problem in Windows zu beheben , funktionieren die folgenden Schritte für mich:
Zum Beispiel ist mongoDB Version 3.6 installiert und der Installationspfad von MongoDB lautet "D: \ Programme \ MongoDB".
Erstellen Sie den Ordner D: \ mongodb \ logs und erstellen Sie dann die Datei mongodb.log in diesem Ordner.
Führen Sie cmd.exe als Administrator aus .
Entfernen Sie diese beiden Dateien
mongod.lock
undstorage.bson
unter dem Ordner "D: \ mongodb \ data".net start MongoDB
Geben Sie dann das Cmd mit Administratorrechten ein. Das Problem wird behoben.quelle
Es zeigt den Fehler listen (): bind () fehlgeschlagen errno: 98 Adresse, die bereits für Socket verwendet wird: 0.0.0.0:27017 dh 27017-Adresse wird bereits von einem anderen Dienst verwendet. Bitte überprüfen Sie dies mit dem Befehl "netstat -apt | grep" 27017 ""
quelle
(Wenn Sie Linux verwenden) if
oder
Das Problem wurde nicht behoben. Abmelden und erneut anmelden . Das hat mein Problem gelöst.
Oder Sie können den Prozess manuell vom Terminal aus beenden, denke ich.
quelle
Es sieht so aus, als würde der gleiche Fehler in den Protokollen angezeigt, wenn die Umgebungseinstellung LC_ALL fehlt. Es ist verwirrend, aber Sie können den
mongo
Client ausführen, um festzustellen, dass es sich um ein Problem handelt.quelle
Wenn Sie Mongo zum ersten Mal ausführen, möchten Sie möglicherweise zuerst den Pfad festlegen
quelle
Der Tötungsprozess hat mein Problem nicht gelöst. Mein Mac war abgestürzt und beim Neustart waren einige Sperrdateien (mongod.lock, WiredTiger.lock) in mongo dbPath vorhanden. Ich habe diese Dateien in einen anderen Ordner verschoben (ich habe sie nicht gelöscht, um weitere Probleme zu vermeiden) und dann hat es funktioniert. Bei erfolgreichem Stern habe ich die verschobenen Sperrdateien gelöscht.
quelle