Posizione del database mongodb su mac


91

Sono un po 'nuovo su Mac e Mongodb.

Ho uno strano dubbio, accedere al database creato utilizzando mongodb su mac?

Lo so, in Windows c'è una cartella chiamata c: \ data \ db, dove sono memorizzati i file del mio database.

Come e dove in Mac viene archiviato il database.

Ricordo di aver fatto qualcosa di simile

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

per creare una tale cartella su Mac, ma non ho trovato alcun file di database in questa cartella, anche se ho creato un database.

Dove vengono salvati i file del database su Mac?

Qualsiasi aiuto sarebbe molto apprezzato.

Risposte:


93

La directory dei dati predefinita per MongoDB è /data/db.

Questo può essere sovrascritto da dbpathun'opzione specificata sulla riga di comando o in un file di configurazione.

Se installi MongoDB tramite un gestore di pacchetti come Homebrew o MacPorts, queste installazioni in genere creano una directory di dati predefinita diversa da / data / db e impostano il percorso db in un file di configurazione.

Se un dbpath è stato fornito mongodall'avvio, puoi controllare il valore nella mongoshell:

db.serverCmdLineOpts()

Vedresti un valore come:

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

1
Vale anche la pena notare che il tuo mongodserver non deve essere eseguito come rootutente. È necessario assicurarsi che le autorizzazioni della directory dei dati includano l'accesso in lettura / scrittura per l'account utente utilizzato dal mongodserver.
Stennie

1
Quando inserisco getCommandLineOpts (), ottengo qualcosa come `ReferenceError: getCommandLineOpts non è definito (shell): 1´. Qualsiasi aiuto??
Spagnolo89

4
Quale versione di MongoDB stai usando? Dovresti essere in grado di verificarlo con db.serverStatus().version. Credo che l'helper di shell per sia getCommandLineOpts()stato aggiunto in MongoDB 2.0. Si potrebbe anche provare: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie

Uso la versione 2.2.2, quando ho provato db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})ho ottenuto qualcosa come { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }Significa che la mia directory del database non è impostata ??
Spaniard89

L'ho preso amico, ho creato una cartella chiamata dati nella radice e una sottocartella db. Ora mostra il percorso. Grazie mille per l'aiuto.
Spaniard89


135

Grazie @Mark, continuo a dimenticarlo ancora e ancora. Dopo aver installato MongoDB con Homebrew:

  • I database sono memorizzati nella / / / usr / local / var MongoDB directory
  • Il file mongod.conf si trova qui: /usr/local/etc/mongod.conf
  • I log di mongo possono essere trovati in / usr / local / var / log / mongodb /
  • I binari di mongo sono qui: / usr / local / Cellar / mongodb / [versione] / bin

Questo ha colpito nel segno. Grazie
Mark Pieszak - Trilon.io

2
Quando controllo / usr / local / var / mongodb / , la directory è vuota. E no, non ho cambiato il dbpath predefinito di mongoldb. Potete aiutarmi a trovare il file del database?
Nishi Bangar

Aggiungi un collegamento simbolico per esso: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff

Non mi sembra di avere una cartella etcin /usr/local/. Dove si trovano i file di configurazione o come posso scoprirlo lol?
Reinier68

25

Ho avuto lo stesso problema, con la versione 3.4.2

per eseguirlo (se lo hai installato con homebrew) esegui il processo in questo modo:

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

Questa soluzione ha risolto il mio problema dopo l'aggiornamento alla v4.2.5 tramite Homebrew.
Matthias Hagemann

10

Ho appena installato mongodb 3.4 con homebrew . (Brew install mongodb) Cerca / data / db per impostazione predefinita.

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

Ecco l'output dell'esecuzione di mongod.


9
Questo è se inizi mongoddirettamente dal terminale. Se si utilizza brew services start mongodb, il processo utilizzerà il file di configurazione in /usr/local/etc/mongod.confcui, a sua volta, specifica un dbPathdi/usr/local/var/mongodb
Molomby

Grazie @Molomby per il contributo. Non sono stato iniziato in quel modo, non sapevo nemmeno in quel modo. :)
csonuryilmaz

1

Env : macOS Mojave 10.14.4

Installa : homebrew

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

Nota : se si aggiorna la versione di brew upgrade mongo, la cartella 4.0.4_1verrà rimossa e sostituita con la nuova cartella della versione

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.