MongoDb wird mit Code 100 heruntergefahren [geschlossen]


87

Ich folgte dem MongoDB Docs zur Einrichtung meiner ersten MongoDB,

Wenn ich MongoDB mit dem Befehl starte

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Ich erhalte den folgenden Fehler Geben Sie hier die Bildbeschreibung ein

Antworten:


143

MongoDB benötigt einen Ordner zum Speichern der Datenbank. Erstellen Sie ein C:\data\db\Verzeichnis:

mkdir C:\data\db

und starten Sie dann MongoDB:

C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe

Manchmal ist der C:\data\dbOrdner aufgrund der vorherigen Installation bereits vorhanden. Wenn dies aus diesem Grund mongod.exenicht funktioniert, können Sie den gesamten Inhalt aus dem C:\data\dbOrdner löschen und mongod.exeerneut ausführen .


Wenn Sie die Details des Fehlers sehen, gibt es eine Zeile, die besagt, dass das Verzeichnis C:\data\db\ nicht gefunden wurde. Verwenden Sie:mkdir C:\data\db
Cespon

@cespon Gold Tag ..: P
Aravind

Meins war tatsächlich/mongodb_data/db
Fabricio

Stellen Sie sicher, dass das Datenverzeichnis und die Dateien dem Mongodb-Benutzer und der Gruppe gehören (unter Linux).
PeterM

66

Damit MacOS-Benutzer dieses Problem beheben können:

Sie müssen die folgenden Schritte ausführen:

Erstellen Sie das Verzeichnis "db". Hier werden die Mongo-Datendateien gespeichert. Sie können das Verzeichnis am Standardspeicherort erstellen, indem Sie Folgendes ausführen:

sudo mkdir -p /data/db

Stellen Sie sicher, dass das /data/dbVerzeichnis über die richtigen Berechtigungen verfügt, indem Sie Folgendes ausführen:

sudo chown -R `id -un` /data/db

Sie sind jetzt sudo mongodfertig und können den Mongo-Server starten.

Es funktioniert nicht, wenn Sie nur laufen mongod

Quelle .


3
gleiche in Ubuntu 16.04
Manoj Rana

Ich bekomme mkdir: /data/db: Read-only file systembeim Ausführen den ersten Befehl. Wie könnte ich das beheben? Danke dir.
LC

@LC Füge sudo zum Befehl mkdir hinzu
Itay Bachar


14

Um den Standard-Datenbankordner C:\data\dbin Windows zu ändern , lautet der Befehl:

--dbpath

Beispielsweise:

\mongod --dbpath C:\myfolder

7

Mac-Benutzer

Anstatt MongoDB auszuführen mit:

sudo mongod

Sie können mongodstattdessen verwenden, wenn Sie:

  1. Suchen Sie den Datenordner von mongodb (normalerweise ~ / data).
  2. Berechtigung zum Lesen + Schreiben hinzufügen sudo chmod -R ugo+rw data

Wenn Sie sudomongodb ( sudo mongod) verwenden müssen, bedeutet dies, dass Sie keine Lese- und Schreibberechtigung für den mongodb-Datenordner haben


1
Danke dafür. Ich musste die Erlaubnis zum Lesen + Schreiben in / data hinzufügen. Ich verstehe nicht, was ich falsch gemacht habe, aber ich habe meinen Datenordner auf ~ / Applications / mongodb / data
vinsentos

3

Bitte machen Sie folgende Schritte:

  1. Wie andere Freunde bereits erwähnt haben, sollten Sie zuerst ein Verzeichnis erstellen, in dem Ihre Datenbankdaten gespeichert werden sollen. Dieser Ordner könnte ungefähr so ​​aussehen:

    C: \ Mongo-Daten

  2. Navigieren Sie in der Befehlszeile zu dem Ort, an dem Sie mongodb installiert haben und an dem sich mongod.exe befindet. In meinem Fall lautet der vollständige Pfad:

    C: \ Programme \ MongoDB \ Server \ 3.4 \ bin

  3. Führen Sie von hier aus mongod.exe aus und übergeben Sie den Pfad mit dem Flag --dbpath wie folgt an den Ordner, den Sie in Schritt 1 erstellt haben:

    mongod.exe --dbpath "C: \ mongo-data"

Bitte beachten Sie : Wenn Sie unter Windows arbeiten, müssen Sie oben doppelte Anführungszeichen ("") verwenden, um ordnungsgemäß ausgeführt zu werden.

Auf diese Weise erhalten Sie ungefähr Folgendes:

2017-06-14T12:45:59.892+0430 I NETWORK  [thread1] waiting for connections on port 27017

Wenn Sie unter Windows einfache Anführungszeichen ('') verwenden, erhalten Sie:

2017-06-14T01:13:45.965-0700 I CONTROL  [initandlisten] shutting down with code:100

Hoffe, es hilft, das Problem zu lösen.


1

Um Mongo DB Demon mit mongodBefehl auszuführen , sollten Sie über ein Datenbankverzeichnis verfügen, wahrscheinlich 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 ausgeführt werden, z sudo mongod.


1

Beim Versuch, mongodb (auf einem Mac) zu starten, wurde immer wieder der folgende Fehler angezeigt.

"shutting down with code:100"

Ich habe den folgenden Befehl verwendet:

./mongod --dbpath=~/mongo-data

Die Lösung 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 rauswerfen, weil der Fehler in keiner Weise angibt, dass dies das Problem ist. Ich habe fast den Inhalt des Verzeichnisses ~ / mongo-data entfernt, um zu sehen, ob das geholfen hat. Ich bin froh, dass ich mich daran erinnerte, dass Cli Args manchmal nicht das "=" - Zeichen verwenden.


1

Zuerst müssen Sie ein Datenverzeichnis erstellen, in dem MongoDB Daten speichert. Der Standard-Datenverzeichnispfad von MongoDB ist der absolute Pfad \ data \ db auf dem Laufwerk, von dem aus Sie MongoDB starten.

Wenn Sie in Laufwerk C: / installiert haben, müssen Sie das Verzeichnis data \ db erstellen. für diesen Ausführungsbefehl in cmd

C:\>mkdir data\db

Führen Sie mongod.exe aus, um MongoDB zu starten.

"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"

Die Option --dbpath zeigt auf Ihr Datenbankverzeichnis. Geben Sie hier die Bildbeschreibung ein

Stellen Sie eine Verbindung zu MongoDB her.

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"

um zu überprüfen, ob alle gut funktionieren:

show dbs

Geben Sie hier die Bildbeschreibung ein


1

1.Wenn ein Fehler angezeigt wird (Herunterfahren mit Code 100), bedeutet dies, dass der gewünschte Speicherort der Datei nicht gefunden wird.

1.a Wenn es vor macOS Catalina liegt, erstellen Sie ein Verzeichnis mit sudo mkdir -p / data / db und erteilen Sie die Berechtigung zur Verwendung von
sudo chown -R id -un/ data / db.

1.b Wenn es MacOS Catalina ist, dann mache sudo mkdir -p / System / Volumes / data / db und gib ihm die Berechtigung sudo chown -R id -un/ System / Volumes / data / db.

2.Starten von Mongo DB Brew Services führen Mongodb-Community

3. Geben Sie mongod oder mongod --dbpath / System / Volumes / Data / data / db ein

4.Und wenn der Mongod einen Fehler anzeigt (Herunterfahren mit Code 48),
bedeutet dies, dass der Port bereits verwendet wird, sodass Sie zwei Dinge tun können

4.a Entweder Sie ändern den Port von mongod, indem Sie die Portnummer
mongod --dbpath / System / Volumes / Data / data / db —port 27018 angeben.

4.b Oder Sie können den Prozess an diesem Port beenden, indem Sie den Prozess mit sudo lsof -i: 27017 suchen und dann mit dem Befehl
kill -9 beenden

5. Wiederholen Sie die Schritte 2 und 3.


1

Für MacOS-Benutzer ist das folgende Problem zu beachten:

Wenn Sie MongoDB Community unter macOS mit .tgz Tarball installieren

(( Ab macOS 10.15 Catalina beschränkt Apple den Zugriff auf das MongoDB-Standarddatenverzeichnis von / data / db. Unter macOS 10.15 Catalina müssen Sie ein anderes Datenverzeichnis verwenden, z. B. / usr / local / var / mongodb. ))

Sie können es wie folgt lösen:

(Ab MacOS Catalina)

Apple hat aus Sicherheitsgründen ein neues Volume in Catalina erstellt. Wenn Sie sich in Catalina befinden, müssen Sie den Ordner / data / db in System / Volumes / Data erstellen.

Verwenden Sie diesen Befehl:

sudo mkdir -p /System/Volumes/Data/data/db

Verwenden Sie dann diesen Befehl, um Berechtigungen zu erteilen:

sudo chown -R `id -un` /System/Volumes/Data/data/db

Dies wird normal ersetzen

sudo mkdir -p /data/db

Stellen Sie sicher, dass das Verzeichnis / data / db über die richtigen Berechtigungen verfügt, indem Sie Folgendes ausführen:

sudo chown -R `id -un` /data/db

Sobald Sie mongoDB beendet und gestartet haben, können Sie im Terminal Folgendes verwenden:

sudo mongod --dbpath /System/Volumes/Data/data/db

0

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/

Referenz

Hinweis: - ./mongod && ../../mongo-data ist ein relativer Pfad. Sie können dies also vermeiden, indem Sie die Umgebungsvariable konfigurieren

Referenz


0

Für Windows habe ich das gleiche Problem.

Das Update war - ich muss die Befehlszeile als Administrator ausführen.


1
Ich würde vorschlagen, die Antwort auf Folgendes neu zu formulieren: "Wenn Sie dieses Problem unter Windows haben, stellen Sie sicher, dass Sie die Befehlszeile als Administrator ausführen."
Filnor

0

Wenn Sie das Verzeichnis bereits haben, überprüfen Sie die Verzeichnisberechtigungen oder versuchen Sie, mongo mit sudo neu zu starten. Sudo Brew Services starten Mongodb


0

In meinem Fall bekam ich einen ähnlichen Fehler und es passierte, weil ich mongod mit dem Root-Benutzer ausgeführt hatte und eine Protokolldatei erstellt hatte, auf die nur der Root zugreifen konnte. Ich könnte dies beheben, indem ich den Besitz von root auf den Benutzer ändere, von dem aus Sie normalerweise modod ausführen. Die Protokolldatei befand sich in / var / lib / mongodb / journal /


0

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.


0

Dieser Exit-Code wird auch angegeben, wenn Sie MongoDB-Versionen ändern und das Datenverzeichnis nicht kompatibel ist, z. B. bei einem Downgrade. Verschieben Sie das alte Verzeichnis an eine andere Stelle und erstellen Sie ein neues Verzeichnis (gemäß den Anweisungen in anderen Antworten).


0

Aravind.

Das ist mir auch passiert, weil ich die MongoDB durch den Task-Manager gestoppt habe.

Das Erstellen des Ordners C: \ data \ db und das Starten der MongoDB unter C: \ Programme \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe funktionierte für mich, wie von cespon vorgeschlagen, aber die MongoDB zeigte keine meiner Datenbanken an zuvor erstellt.

Dann das Entfernen von C: \ data \ db - Ordner und die Reparatur der Installation mit dem MongoDB Installateur , erholte ich meine Daten und in der Regel die MongoDB gestartet.

(Ich bin sehr neu in MongoDB, aber es hat mir geholfen, dieses Problem zu lösen und möglicherweise eine Vorschau der Daten wiederherzustellen.)


0

mongod getippt und Fehler bekommen

Fehler:

Ausnahme in initAndListen: NonExistentPath: Datenverzeichnis / data / db nicht gefunden., wird beendet

wird mit Code 100 heruntergefahren

Versuchen Sie es dann mit (Daten und Datenbankordner mit allen Berechtigungen erstellen)

mongod --dbpath = / data

Verwenden Sie eine neue Registerkarte und geben Sie mongo ein.

> benutze dbs

Wenn Sie immer noch vor einem Problem stehen, können Sie nach Mac Catalina suchen: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )

für Windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.