Docs Menu
Docs Home
/ /
/ / /

Ejemplos de mongodump

Esta página muestra ejemplos de mongodump.

Ejecute mongodump desde la línea de comandos del sistema, no desde el mongo caparazón.

La siguiente operación crea un archivo de vaciado que contiene solo la colección llamada records en la base de datos llamada test. En el ejemplo, la base de datos está en ejecución en la interfaz local en el puerto 27017.

mongodump --db=test --collection=records

La siguiente operación vacía todas las colecciones en la base de datos test excepto users y salaries:

mongodump --db=test --excludeCollection=users --excludeCollection=salaries

En el siguiente ejemplo, mongodump crear un vaciado de la base de datos ubicado en /opt/backup/mongodump-2011-10-24, desde una base de datos que se ejecuta en el puerto 37017 en el host mongodb1.example.net y se autentica utilizando el nombre de usuario user de la siguiente manera:

mongodump --host=mongodb1.example.net --port=37017 --username=user --authenticationDatabase=admin --out=/opt/backup/mongodump-2011-10-24

Si no incluye el --password, solicita al usuario lamongodump contraseña.

Para exportar el vaciado a un archivo de fichero, se debe ejecutar mongodump con la opción --archive y el nombre del archivo de fichero. Por ejemplo, la siguiente operación crea un archivo test.20150715.archive que contiene el vaciado de la base de datos test.

mongodump --archive=test.20150715.archive --db=test

Para comprimir los archivos en el directorio de vaciado de salida, se debe ejecutar mongodump con la nueva opción --gzip. Por ejemplo, la siguiente operación genera archivos comprimidos en el directorio por defecto dump.

mongodump --gzip --db=test

Para comprimir el archivo de fichero generado por mongodump, se debe utilizar la opción --gzip junto con la opción --archive, especificando el nombre del archivo comprimido.

mongodump --archive=test.20150715.gz --gzip --db=test

A partir de la versión 4.2, MongoDB remueve los comandos copydb y clone obsoletos.

Como alternativa, los usuarios pueden utilizar mongodump y mongorestore (con las opciones de mongorestore --nsFrom y --nsTo).

Por ejemplo, para copiar la base de datos test desde una instancia local que se ejecuta en el puerto por defecto 27017 a la base de datos examples en la misma instancia, se puede:

  1. Utilizar mongodump para vaciar la base de datos test a un archivo mongodump-test-db:

    mongodump --archive="mongodump-test-db" --db=test
  2. Se debe utilizar mongorestore con --nsFrom y --nsTo para restaurar (con cambio de nombre de la base de datos) desde el archivo:

    mongorestore --archive="mongodump-test-db" --nsFrom="test.*" --nsTo="examples.*"

Tip

Incluya opciones adicionales según sea necesario, como especificar el URI o host, el nombre de usuario, la contraseña y la base de datos de autenticación.

Nuevo en la versión 100.1.0.

Para conectarse a un clúster de MongoDB Atlas que se ha configurado para admitir la autenticación mediante credenciales de AWS IAM, proporcione un connection string a mongodump similar al siguiente:

mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Conectarse a Atlas usando credenciales de AWS IAM de esta manera utiliza el MONGODB-AWS authentication mechanism y el $external authSource, como se muestra en este ejemplo.

Si utiliza un token de sesión de AWS, proporciónelo también con el valor AWS_SESSION_TOKEN authMechanismProperties, de la siguiente manera:

mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>

Nota

Si el ID de la clave de acceso de AWS, la clave de acceso secreta o el token de sesión incluyen los siguientes caracteres:

: / ? # [ ] @

esos caracteres deben convertirse utilizando codificación por porcentaje.

Como alternativa, el ID de clave de acceso de AWS, la clave de acceso secreta y, opcionalmente, el token de sesión se pueden proporcionar fuera de la cadena de conexión utilizando las opciones --username, --password y --awsSessionToken, de la siguiente manera:

mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>

Cuando se proporcionan como parámetros de línea de comandos, las tres opciones anteriores no requieren codificación por porcentaje.

También se pueden establecer estas credenciales en la plataforma usando variables estándar de entorno AWS IAM. mongodump comprueba las siguientes variables de entorno cuando se usa el MONGODB-AWS authentication mechanism:

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Si se establecen, estas credenciales no necesitan especificarse en la cadena de conexión ni a través de sus opciones explícitas.

Nota

Si se elige usar las variables de entorno de AWS para especificar estos valores, no se pueden mezclar ni combinar con las opciones explícitas o de la cadena de conexión correspondientes para estas credenciales. Se deben utilizar las variables de entorno para el ID de la clave de acceso y la clave de acceso secreta (y el token de sesión si se utiliza), o especificar cada una de estas utilizando las opciones explícitas o de la cadena de conexión.

El siguiente ejemplo establece variables de entorno en el shell bash:

export AWS_ACCESS_KEY_ID='<aws access key id>'
export AWS_SECRET_ACCESS_KEY='<aws secret access key>'
export AWS_SESSION_TOKEN='<aws session token>'

La sintaxis para configurar variables de entorno en otros shells es diferente. Para aprender más, se puede consultar la documentación del shell.

Para verificar que las variables de entorno están establecidas, se debe usar este comando:

env | grep AWS

Después de establecer las variables de entorno, se debe ejecutar el siguiente ejemplo para conectarse a un clúster de MongoDB Atlas:

mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Para autenticarse con una base de datos diferente a la que se está volcando, debe especificar authSource en el URI de MongoDB.

En este ejemplo:

  • Se utiliza el nombre de usuario myuser y la contraseña mypassword. Este usuario tiene acceso de lectura a testdb.

  • La base de datos admin se utiliza para autenticar al usuario.

  • La base de datos testdb está siendo volcada.

mongodump 'mongodb+srv://myuser:mypassword@cluster0.example.com/?authSource=admin' --db testdb

Para crear un archivo de copia de seguridad mongodump coherente utilizando entradas de oplog, se debe utilizar la opción mongodump --oplog. Para la restauración de datos del archivo de copia de seguridad, se debe utilizar la opción mongorestore --oplogReplay.

El oplog contiene el historial de las operaciones de guardado en la base de datos.

mongodump resultados:

  • Documentos de colección, metadatos y opciones.

  • Definiciones de índices.

  • Las operaciones de guardar que ocurren durante la ejecución de mongodump, si se especifica --oplog.

mongodump --oplog crea un archivo llamado oplog.bson en el nivel superior del directorio de salida mongodump. El archivo contiene operaciones de guardar que ocurren durante la ejecución de mongodump. Las operaciones de guardar que se producen después de que mongodump finalice no se registran en el archivo.

Para respaldar clústeres particionados con mongodump, se puede consultar Respaldar un clúster particionado autogestionado con un vaciado de base de datos.

Para restaurar las entradas de oplog del archivo oplog.bson, se debe utilizar mongorestore --oplogReplay. Utilizar mongodump --oplog junto con mongorestore --oplogReplay para asegurarse de que la base de datos esté actualizada y contenga todas las operaciones de guardar que ocurrieron durante la ejecución de mongodump.

Volver

Comportamiento