Ubicación de la base de datos de mongodb en mac

91

Soy algo nuevo en mac y mongodb.

Tengo una duda extraña, ¿accediendo a la base de datos creada usando mongodb en mac?

Lo sé, en Windows hay una carpeta llamada c: \ data \ db, donde se almacenan los archivos de mi base de datos.

Cómo y dónde se almacena la base de datos en mac.

Recuerdo haber hecho algo como

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

para crear una carpeta de este tipo en mac, pero no encontré ningún archivo de base de datos en esta carpeta, aunque creé una base de datos.

¿Dónde se guardan los archivos de la base de datos en mac?

Cualquier ayuda sería muy apreciada.

Español89
fuente

Respuestas:

93

El directorio de datos predeterminado para MongoDB es /data/db.

Esto puede ser reemplazado por una dbpathopción especificada en la línea de comando o en un archivo de configuración.

Si instala MongoDB a través de un administrador de paquetes como Homebrew o MacPorts, estas instalaciones suelen crear un directorio de datos predeterminado que no sea / data / db y establecen la ruta de acceso de datos en un archivo de configuración.

Si se proporcionó un dbpath al mongodinicio, puede verificar el valor en el mongoshell:

db.serverCmdLineOpts()

Vería un valor como:

"parsed" : {
    "dbpath" : "/usr/local/data"
},
Stennie
fuente
1
También vale la pena señalar que su mongodservidor no tiene que ejecutarse como rootusuario. Debe asegurarse de que sus permisos de directorio de datos incluyan acceso de lectura / escritura para la cuenta de usuario que mongodutiliza el servidor.
Stennie
1
Cuando ingreso getCommandLineOpts (), obtengo algo como `ReferenceError: getCommandLineOpts no está definido (shell): 1´. ¿¿Alguna ayuda??
Spaniard89
4
¿Qué versión de MongoDB estás usando? Debería poder comprobarlo con db.serverStatus().version. Creo que el asistente de shell getCommandLineOpts()se agregó en MongoDB 2.0. También puede probar: db.getSiblingDB("admin").runCommand({getCmdLineOpts:1}).
Stennie
Yo uso la versión 2.2.2, cuando lo intenté db.getSiblingDB("admin").runCommand({getCmdLineOpts:1})obtuve algo como { "argv" : [ "./bin/mongod" ], "parsed" : { }, "ok" : 1 }¿Eso significa que mi directorio de base de datos no está configurado?
Spaniard89
Lo tengo amigo, creé una carpeta llamada datos en la raíz y una subcarpeta db. Ahora muestra el camino. Muchas gracias por la ayuda.
Spaniard89
194

Si mongodb se instala a través de Homebrew, la ubicación predeterminada es:

/ usr / local / var / mongodb

Vea la respuesta de @simonbogarde para la ubicación de otros archivos interesantes que son diferentes cuando se usa Homebrew.

Mark Edington
fuente
Estaba buscando algo de luz en la oscuridad revisando la fórmula en github.com/Homebrew/homebrew/blob/master/Library/Formula/… gracias.
alexserver
135

Gracias @ Mark, sigo olvidando esto una y otra vez. Después de instalar MongoDB con Homebrew:

  • Las bases de datos se almacenan en el directorio / usr / local / var / mongodb /
  • El archivo mongod.conf está aquí: /usr/local/etc/mongod.conf
  • Los registros de mongo se pueden encontrar en / usr / local / var / log / mongodb /
  • Los binarios de mongo están aquí: / usr / local / Cellar / mongodb / [versión] / bin
Simonbogarde
fuente
Esto dio en el clavo. Gracias
Mark Pieszak - Trilon.io
2
Cuando reviso / usr / local / var / mongodb / , el directorio está vacío. Y no, no he cambiado el dbpath predeterminado de mongoldb. ¿Pueden ayudarme a encontrar el archivo de la base de datos?
Nishi Bangar
Agregue un enlace simbólico para ello: sudo ln -s / usr / local / var / mongodb / data / db
TheJeff
No parecen tener una carpeta etcen /usr/local/. ¿Dónde se encuentran los archivos de configuración o cómo puedo averiguarlo?
Reinier68
25

Tuve el mismo problema, con la versión 3.4.2

para ejecutarlo (si lo instaló con homebrew) ejecute el proceso así:

$ mongod --dbpath /usr/local/var/mongodb
Runnerdave
fuente
Esta solución resolvió mi problema después de actualizar a v4.2.5 a través de Homebrew.
Matthias Hagemann
10

Acabo de instalar mongodb 3.4 con homebrew . (Brew install mongodb) Busca / data / db por defecto.

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

Aquí está el resultado de la ejecución de mongod.

csonuryilmaz
fuente
9
Esto es si comienza mongoddirectamente desde la terminal. Si lo usa brew services start mongodb, el proceso usará el archivo de configuración en el /usr/local/etc/mongod.confque, a su vez, especifica un dbPathde/usr/local/var/mongodb
Molomby
Gracias @Molomby por la contribución. No empecé de esa manera, ni siquiera sabía de esa manera. :)
csonuryilmaz
1

Env : macOS Mojave 10.14.4

Instalar : homebrew

Ubicación :/usr/local/Cellar/mongodb/4.0.3_1

Nota : si actualiza la versión por brew upgrade mongo, la carpeta 4.0.4_1se eliminará y se reemplazará con la nueva carpeta de la versión

jyjin
fuente