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.

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"
},

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


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

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

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.


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.