Esta página muestra ejemplos de mongodump.
Ejecute mongodump desde la línea de comandos del sistema, no desde el
mongo caparazón.
Usa mongodump con una colecció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
Utilice mongodump con una base de datos y excluya colecciones especificadas
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
Utilice mongodump con Control de Acceso
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.
Salida a un archivo de fichero
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
Comprima la salida
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
Copiar y clonar bases de datos
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:
Utilizar
mongodumppara vaciar la base de datostesta un archivomongodump-test-db:mongodump --archive="mongodump-test-db" --db=test Se debe utilizar
mongorestorecon--nsFromy--nsTopara 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.
Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM
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_IDAWS_SECRET_ACCESS_KEYAWS_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>
Autenticación con una base de datos específica
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
myusery la contraseñamypassword. Este usuario tiene acceso de lectura atestdb.La base de datos
adminse utiliza para autenticar al usuario.La base de datos
testdbestá siendo volcada.
mongodump 'mongodb+srv://myuser:mypassword@cluster0.example.com/?authSource=admin' --db testdb
Creación y restauración de archivos de copia de seguridad coherentes
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.
Utilice mongodump con la opción 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.
Utilice mongorestore con la opción oplogReplay
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.
Obtén más información
utilidad mongosync para migraciones de clúster a clúster
Migrar o importar datos en Atlas
Realizar copias de seguridad, restauración y archivo de datos en Atlas