Antworten:
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\db
Ordner aufgrund der vorherigen Installation bereits vorhanden. Wenn dies aus diesem Grund mongod.exe
nicht funktioniert, können Sie den gesamten Inhalt aus dem C:\data\db
Ordner löschen und mongod.exe
erneut ausführen .
/mongodb_data/db
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/db
Verzeichnis über die richtigen Berechtigungen verfügt, indem Sie Folgendes ausführen:
sudo chown -R `id -un` /data/db
Sie sind jetzt sudo mongod
fertig und können den Mongo-Server starten.
Es funktioniert nicht, wenn Sie nur laufen mongod
Quelle .
mkdir: /data/db: Read-only file system
beim Ausführen den ersten Befehl. Wie könnte ich das beheben? Danke dir.
Das gleiche Problem auf meinem Mac (mit Brew) wurde behoben mit:
sudo mongod
Um den Standard-Datenbankordner C:\data\db
in Windows zu ändern , lautet der Befehl:
--dbpath
Beispielsweise:
\mongod --dbpath C:\myfolder
Mac-Benutzer
Anstatt MongoDB auszuführen mit:
sudo mongod
Sie können mongod
stattdessen verwenden, wenn Sie:
sudo chmod -R ugo+rw data
Wenn Sie sudo
mongodb ( sudo mongod
) verwenden müssen, bedeutet dies, dass Sie keine Lese- und Schreibberechtigung für den mongodb-Datenordner haben
Bitte machen Sie folgende Schritte:
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
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
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.
Um Mongo DB Demon mit mongod
Befehl 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
.
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.
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.
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
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.
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
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 ein relativer Pfad. Sie können dies also vermeiden, indem Sie die Umgebungsvariable konfigurieren
Für Windows habe ich das gleiche Problem.
Das Update war - ich muss die Befehlszeile als Administrator ausführen.
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
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 /
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.
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).
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.)
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.
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/
C:\data\db\
nicht gefunden wurde. Verwenden Sie:mkdir C:\data\db