Speicherort der Mongodb-Datenbank auf dem Mac


89

Ich bin ein bisschen neu in Mac und Mongodb.

Ich habe einen seltsamen Zweifel, auf die Datenbank zuzugreifen, die mit mongodb auf dem Mac erstellt wurde.

Ich weiß, in Windows gibt es einen Ordner namens c: \ data \ db, in dem meine Datenbankdateien gespeichert sind.

Wie und wo in Mac wird die Datenbank gespeichert.

Ich erinnere mich an so etwas

sudo mkdir -p /data/db
sudo chown `id -u` /data/db

um einen solchen Ordner auf dem Mac zu erstellen, aber ich habe keine Datenbankdatei in diesem Ordner gefunden, obwohl ich eine Datenbank erstellt habe.

Wo werden die Datenbankdateien auf dem Mac gespeichert?

Jede Hilfe wäre sehr dankbar.

Antworten:


93

Das Standarddatenverzeichnis für MongoDB ist /data/db.

Dies kann durch eine in der Befehlszeile oder in einer Konfigurationsdatei angegebene dbpathOption überschrieben werden .

Wenn Sie MongoDB über einen Paketmanager wie Homebrew oder MacPorts installieren, erstellen diese Installationen normalerweise ein anderes Standarddatenverzeichnis als / data / db und legen den Datenbankpfad in einer Konfigurationsdatei fest.

Wenn mongodbeim Start ein Datenbankpfad bereitgestellt wurde, können Sie den Wert in der mongoShell überprüfen :

db.serverCmdLineOpts()

Sie würden einen Wert sehen wie:

"parsed" : {
    "dbpath" : "/usr/local/data"
},

1
Es ist auch erwähnenswert, dass Ihr mongodServer nicht als rootBenutzer ausgeführt werden muss. Sie müssen sicherstellen, dass Ihre Datenverzeichnisberechtigungen Lese- / Schreibzugriff für das vom mongodServer verwendete Benutzerkonto enthalten .
Stennie

1
Wenn ich getCommandLineOpts () eingebe, erhalte ich so etwas wie "ReferenceError: getCommandLineOpts ist nicht definiert (Shell): 1". Irgendeine Hilfe??
Spaniard89

4
Welche Version von MongoDB verwenden Sie? Sie sollten dies überprüfen können db.serverStatus().version. Ich glaube, der Shell-Helfer für getCommandLineOpts()wurde in MongoDB 2.0 hinzugefügt. Sie könnten auch versuchen : db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie

Ich benutze Version 2.2.2, als ich versuchte, db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})etwas wie zu bekommen. { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Bedeutet das, dass mein Datenbankverzeichnis nicht festgelegt ist?
Spaniard89

Ich habe es verstanden, ich habe einen Ordner namens data im Stammverzeichnis und einen Unterordner db erstellt. Jetzt zeigt es den Weg. Vielen Dank für die Hilfe.
Spaniard89


130

Danke @Mark, ich vergesse das immer wieder. Nach der Installation von MongoDB mit Homebrew:

  • Die Datenbanken werden im Verzeichnis / usr / local / var / mongodb / gespeichert
  • Die Datei mongod.conf befindet sich hier: /usr/local/etc/mongod.conf
  • Die Mongo-Protokolle finden Sie unter / usr / local / var / log / mongodb /
  • Die Mongo-Binärdateien sind hier: / usr / local / Cellar / mongodb / [version] / bin

Dies traf den Nagel auf den Kopf. Vielen Dank
Mark Pieszak - Trilon.io

2
Wenn ich / usr / local / var / mongodb / überprüfe , ist das Verzeichnis leer. Und nein, ich habe den Standard-Datenbankpfad von Mongoldb nicht geändert. Können Sie mir beim Auffinden der Datenbankdatei helfen?
Nishi Bangar

Fügen Sie einen symbolischen Link dafür hinzu: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff

22

Ich hatte das gleiche Problem mit Version 3.4.2

Um es auszuführen (wenn Sie es mit Homebrew installiert haben), führen Sie den folgenden Prozess aus:

$ mongod --dbpath /usr/local/var/mongodb

Diese Lösung löste mein Problem nach dem Upgrade auf v4.2.5 über Homebrew.
Matt Hagemann

10

Ich habe gerade Mongodb 3.4 mit Homebrew installiert. (Brew Install Mongodb) Es sucht standardmäßig nach / data / db .

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

Hier ist die Ausgabe der Mongod-Ausführung.


9
Dies ist der Fall, wenn Sie mongoddirekt vom Terminal aus starten . Wenn Sie verwenden brew services start mongodb, verwendet der Prozess die Konfigurationsdatei /usr/local/etc/mongod.conf, in der wiederum ein dbPathvon/usr/local/var/mongodb
Molomby

Danke @Molomby für den Beitrag. Ich habe nicht so angefangen, ich wusste es nicht einmal so. :)
Csonuryilmaz

1

Env : macOS Mojave 10.14.4

Installieren : Homebrew

Ort :/usr/local/Cellar/mongodb/4.0.3_1

Hinweis : Wenn die Version um aktualisiert wird brew upgrade mongo, wird der Ordner 4.0.4_1entfernt und durch den neuen Versionsordner ersetzt

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.