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.

Spanier89
quelle

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"
},
Stennie
quelle
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
190

Wenn Mongodb über Homebrew installiert wird, lautet der Standardspeicherort:

/ usr / local / var / mongodb

In der Antwort von @simonbogarde finden Sie Informationen zum Speicherort anderer interessanter Dateien, die sich bei Verwendung von Homebrew unterscheiden.

Mark Edington
quelle
Ich suchte nach etwas Licht in der Dunkelheit, indem ich die Formel unter github.com/Homebrew/homebrew/blob/master/Library/Formula/… überprüfte . Danke.
Alexander Server
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
simonbogarde
quelle
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
Runnerdave
quelle
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.

Csonuryilmaz
quelle
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

Jyjin
quelle