Ich folgte der MongoDb Docs , um meine erste MongoDb einzurichten,
Wenn ich MongoDB mit dem Befehl starte
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
MongoDB benötigt einen Ordner zum Speichern der Datenbank. Erstellen Sie ein C:\data\db\
-Verzeichnis:
mkdir C:\data\db
und dann MongoDB starten:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Für MacOS-Benutzer, um dieses Problem zu beheben:
Sie müssen die folgenden Schritte ausführen:
Erstellen Sie das Verzeichnis "db". Hier werden die Mongo-Dateien gespeichert. Sie können das Verzeichnis am Standardspeicherort erstellen, indem Sie Folgendes ausführen:
mkdir -p /data/db
Stellen Sie sicher, dass das Verzeichnis/data/db die richtigen Berechtigungen hat, indem Sie Folgendes ausführen:
Sudo chown -R `id -un` /data/db
Sie sind jetzt fertig und können mongod
ausführen, um den Mongo-Server zu starten.
Quelle .
Das gleiche Problem auf meinem Mac (mit Brew) wurde behoben mit:
Sudo mongod
Um den Standard-Db-Ordner C:\data\db
in Windows zu ändern, lautet der Befehl:
--dbpath
Zum Beispiel:
\mongod --dbpath C:\myfolder
Mac-Benutzer
Anstelle von MongoDB mit:
Sudo mongod
Sie können stattdessen mongod
verwenden, wenn Sie:
Sudo chmod -R ugo+rw data
hinzufügenWenn Sie Sudo
verwenden müssen, wenn Sie mongodb (Sudo mongod
) ausführen, haben Sie keine Berechtigung zum Lesen und Schreiben für den mongodb-Datenordner
Bitte führen Sie folgende Schritte aus:
Wie bereits von anderen Freunden erwähnt, sollten Sie zuerst ein Verzeichnis erstellen, in dem Ihre Datenbankdaten gespeichert werden. Dieser Ordner könnte ungefähr so aussehen:
C:\Mongo-Daten
Navigieren Sie in der Befehlszeile zu dem Ort, an dem Sie mongodb installiert haben und wo sich mongod.exe befindet. In meinem Fall lautet der vollständige Pfad:
C:\Programme\MongoDB\Server\3.4\bin
Führen Sie von hier aus die Datei mongod.exe aus, und übergeben Sie den Pfad zu dem Ordner, den Sie in Schritt 1 erstellt haben. Verwenden Sie dazu das Flag --dbpath:
mongod.exe --dbpath "C:\mongo-data"
Bitte beachten Sie : Wenn Sie sich unter Windows befinden, müssen Sie oben stehende Anführungszeichen ("") verwenden, um ordnungsgemäß auszuführen.
Auf diese Weise erhalten Sie etwas wie das Folgende:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Wenn Sie einfache Anführungszeichen ('') unter Windows verwenden, erhalten Sie Folgendes:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
Hoffe, es hilft, das Problem zu lösen.
Um den Mongo DB-Dämon mit dem Befehl mongod
auszuführen, benötigen Sie ein Datenbankverzeichnis. Möglicherweise müssen Sie Folgendes ausführen:
mkdir C:\data\db
Außerdem muss MongoDB über Schreibberechtigungen für dieses Verzeichnis verfügen, oder es sollte mit Superuser-Berechtigungen wie Sudo mongod
ausgeführt werden.
Für Windows Ich habe das gleiche Problem.
Das Update war - ich muss die Kommandozeile als Administrator ausführen.
Dieser Exit-Code wird auch angegeben, wenn Sie MongoDB-Versionen ändern und das Datenverzeichnis nicht kompatibel ist, z. B. mit einem Downgrade. Verschieben Sie das alte Verzeichnis an einen anderen Ort und erstellen Sie ein neues Verzeichnis (gemäß den Anweisungen in anderen Antworten).
wenn Sie bereits über das Verzeichnis verfügen, überprüfen Sie die Berechtigungen für das Verzeichnis, oder versuchen Sie, den Mongo mit Sudo neu zu starten
Wenn Sie Virtualbox verwenden, überprüfen Sie Ihre VM.
docker-machine ssh
df -h
Schauen Sie sich dev/sda1 an, wenn Sie keinen freien Speicherplatz haben. Dies kann an einer großen Anzahl von Bildern oder Containern liegen. Sie können sie mit "docker rm" und "docker rmi" entfernen
In MacOS: -
Wenn Sie beim Ausführen des Mongo-Servers vergessen haben, den Pfad der zuvor erstellten Datenbank anzugeben, wird der obige Fehler angezeigt.
Sudo ./mongod --dbpath ../../mongo-data/
Hinweis: - ./mongod && ../../mongo-data ist der relative Pfad . Sie können ihn also durch Konfiguration in der Umgebungsvariablen vermeiden
Ich habe immer die folgende Fehlermeldung erhalten, als ich versuchte, Mongodb (auf Mac OS) zu starten.
"shutting down with code:100"
Ich habe den folgenden Befehl verwendet:
./mongod --dbpath=~/mongo-data
Der Fix für mich war, dass ich das "=" Zeichen nicht brauchte und dies den Fehler verursachte. So tat ich
./mongod --dbpath ~/mongo-data
Ich wollte das nur rausschmeißen, weil der Fehler in keiner Weise angibt, dass dies das Problem ist. Ich hätte fast den Inhalt des Verzeichnisses ~/mongo-data entfernt, um zu sehen, ob das geholfen hat. Ich bin froh, dass ich daran gedacht habe, dass cli args manchmal das "=" - Zeichen nicht verwenden.
In meinem Fall habe ich einen ähnlichen Fehler erhalten, und dies geschah, weil ich mit dem root-Benutzer mongod ausgeführt hatte und eine Protokolldatei erstellt hatte, auf die nur der root zugreifen konnte. Ich könnte dieses Problem beheben, indem ich den Besitz von root auf den Benutzer ändere, von dem Sie normalerweise mongod ausführen. Die Protokolldatei befand sich in/var/lib/mongodb/journal /.