Cómo restaurar una base de datos específica desde una copia de seguridad usando el comando mongorestore

62

Creé una copia de seguridad de todas mis bases de datos usando el comando mongodump. Ahora quiero restaurar una base de datos específica usando el comando mongorestore.

¿Cómo es esto posible? Utilizo este comando: --db opción y luego mongodb no restaura una base de datos específica.

pankaj choudhary
fuente

Respuestas:

86

Para restaurar una sola base de datos, debe proporcionar la ruta al directorio de volcado como parte de la mongorestorelínea de comando.

Por ejemplo:

# Backup the training database
mongodump --db training

# Restore the training database to a new database called training2
mongorestore --db training2 dump/training

La --dbopción para mongodumpespecifica la base de datos de origen para volcar.

La --dbopción para mongorestoreespecifica la base de datos de destino para restaurar.

Stennie
fuente
Respaldo usando mongodump --archivepara crear un archivo .gz. ¿Puedo saber cómo restauramos desde un archivo .gz y también especificar un nuevo nombre de base de datos? Mi tamaño de archivo .gz es de 2 Gb, por lo que extraerlo requiere mucho tiempo.
Nam G VU
@NamGVU ¿Puede publicar una nueva pregunta que incluya su versión mongodumpy la línea de comando exacta que está utilizando? El --archivecomando crea un formato de archivo especial que es diferente de --gzip. Dependiendo de la mongodumpversión y las opciones de línea de comandos utilizadas, existen diferentes recomendaciones para cambiar el nombre de las bases de datos o colecciones mongorestore.
Stennie
He hecho la pregunta según lo requirió, por favor ayuda. ¡Gracias! dba.stackexchange.com/q/189928/52550
Nam G VU
Puede ayudarnos aquí dba.stackexchange.com/q/189928/52550
Nam G VU
Gracias Stennie, tu sugerencia funcionó perfectamente para mí.
user752746
13

Use el siguiente comando para restaurar mongo db:

mongorestore -d dbname dbpath
usuario104596
fuente
9
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
  • --drop La caída es necesaria si está reemplazando una base de datos existente
  • -d <database-name> El nombre de la base de datos para crear / reemplazar
  • <dir-of-backup-files> Por alguna razón, esto es necesario incluso si es el directorio actual

ingrese la descripción de la imagen aquí

Referencia: https://coderwall.com/p/3hx06a/restore-a-mongodb-database-mongorestore

Duda1
fuente
1
Esto funcionó para mí - pero tenga cuidado, ya que se reducirá el DB
Alexander Mills
Detalles útiles aquí.
Wylliam Judd
1

Restauración usando mongorestore

Después de asegurarse de que mongody mongose están ejecutando, vaya al directorio padre del volcado en una nueva terminal. Y usa el comando mongorestore dump. ¿Dónde dumpestá el nombre de la carpeta en la que está presente el volcado de la base de datos?

Restauración usando mongorestore

estudiante
fuente