sql >> Base de Datos >  >> NoSQL >> MongoDB

Restaurar una base de datos MongoDB usando mongorestore

Si ha realizado una copia de seguridad de una base de datos mediante mongodump utilidad, puede restaurarla usando mongorestore utilidad.

El mongorestore La utilidad carga datos desde un volcado de base de datos binario creado por mongodump o la entrada estándar en un mongod o mongos instancia.

Buscar herramientas de base de datos MongoDB

El mongorestore La utilidad es parte del paquete MongoDB Database Tools. Las herramientas de base de datos de MongoDB son un conjunto de utilidades de línea de comandos para trabajar con MongoDB.

Si no está seguro de tener MongoDB Database Tools/mongorestore instalado. Intente ejecutar el siguiente comando en su Terminal o Símbolo del sistema para verificar:

mongorestore --version

Si no lo tiene, puede usar las instrucciones de instalación en el sitio web de MongoDB para instalarlo en su sistema.

¿Dónde ejecutar los comandos?

Debes ejecutar mongorestore comandos desde la línea de comandos de su sistema (por ejemplo, una nueva ventana de terminal o símbolo del sistema).

No los ejecutes desde mongo cáscara.

Restaurar todas las bases de datos desde un directorio

El siguiente comando restaura todas las bases de datos de las que se ha realizado una copia de seguridad en el dump/ directorio:

mongorestore dump/

Este ejemplo restaura las bases de datos a la instancia local que se ejecuta en el puerto predeterminado 27017. Lo sabemos porque no proporcionamos ningún host, puerto, información de autenticación, etc.

Restaurar una base de datos específica

Puede utilizar --nsInclude parámetro para especificar una base de datos para restaurar.

Ejemplo:

mongorestore --nsInclude="PetHotel.*" dump/

En este caso, restauramos el PetHotel base de datos. Restauramos todas las colecciones porque usamos un asterisco comodín (* ) para especificar todas las colecciones.

Restaurar una colección específica

También puede utilizar --nsInclude parámetro para especificar una colección para restaurar.

Ejemplo:

mongorestore --nsInclude="PetHotel.pets" dump/

Este ejemplo restaura la colección de mascotas del PetHotel base de datos. Si la base de datos no existe, se crea con una sola colección (pets ).

Este ejemplo es casi idéntico al ejemplo anterior, excepto que en lugar de usar el comodín asterisco (* ) para especificar todas las colecciones, especificamos explícitamente la colección que queremos restaurar.

Renombrar una colección

Puede utilizar --nsFrom y --nsTo parámetros para especificar un nuevo nombre para la colección.

Ejemplo:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/

Esto cambia el nombre de las pets colección a pets2 .

Tenga en cuenta que el código anterior también restaura todas las demás bases de datos y colecciones en el dump/ directorio. La única diferencia es que las pets la colección se restaura como pets2 .

Si solo desea restaurar una sola colección (y cambiarle el nombre en el proceso), use --nsInclude parámetro.

Ejemplo:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/

Renombrar una base de datos

Puede utilizar el mismo concepto para cambiar el nombre de una base de datos. Simplemente use el --nsFrom y --nsTo parámetros para especificar un nuevo nombre para la base de datos.

Ejemplo:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/

En este caso renombré el PetHotel base de datos a PetHouse .

Tenga en cuenta que --nsInclude parámetro especifica el nuevo nombre de la base de datos. Además, uso el comodín asterisco (* ) para restaurar todas las colecciones en esa base de datos.

Excluyendo Colecciones

Puede utilizar --nsExclude parámetro para especificar una colección para excluir del proceso de restauración.

Ejemplo:

mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/

Ese ejemplo restaura todas las colecciones en el PetHotel base de datos a excepción de los dogs colección.

Puede usar --nsExclude varias veces para excluir varias colecciones del proceso de restauración.

Ejemplo:

mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/

Control de acceso/Autenticación

Los ejemplos anteriores se realizaron en la máquina local utilizando el puerto predeterminado. Esto significó que pudimos ejecutar mongodump sin especificar cosas como --host , --port , --username , etc.

Aquí hay un ejemplo que usa esos parámetros para autenticarse como homer :

mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30

También podríamos haber usado el --password parámetro, pero no lo hicimos. Si pasa --user pero no --password , se le pedirá la contraseña.

Restaurar desde archivos comprimidos

Puede usar el --gzip parámetro para restaurar desde archivos comprimidos o flujo de datos creado por mongodump --gzip .

Ejemplo:

mongorestore --gzip  --nsInclude="krankykranes.*" dump3/

Modo silencioso

Puedes usar el --quiet parámetro para limitar la salida en su terminal o ventana del símbolo del sistema.

mongorestore --quiet

Sin usar esto, probablemente verá una gran lista de vistas, colecciones, etc. que se restauran.

Modo detallado

Por otro lado, puede usar el --verbose o -v parámetros a aumentar la salida en su terminal o en la ventana del símbolo del sistema.

mongorestore --verbose

Puede aumentar la verbosidad repitiendo -v formulario varias veces.

Ejemplo:

mongorestore -vvvv

Más información sobre mongodump

El mongorestore La utilidad acepta muchos otros parámetros útiles, y también hay varios factores a considerar cuando se usa como parte de una estrategia de copia de seguridad y recuperación.

Ver el mongorestore documentación en el sitio web de MongoDB para obtener más información.

Otras opciones

mongodump y mongorestore son herramientas simples y eficientes para realizar copias de seguridad y restaurar pequeñas implementaciones de MongoDB, pero no son ideales para realizar copias de seguridad de sistemas más grandes.

Consulte Métodos de copia de seguridad de MongoDB en el sitio web de MongoDB para conocer otros métodos para realizar copias de seguridad y restaurar sus bases de datos de MongoDB.