Mongodump y Mongorestore: ¿qué tener en cuenta?

Al respaldar datos a través de un motor como MongoDB se cuenta con varias opciones, una de ellas es el uso de las utilerías mongodump y mongorestore. Ambas se encuentran incluidas en la instalación de MongoDB y, si bien no se tratan de las más óptimas para sistemas extremadamente complejos, sí resultan una técnica simple y eficiente para respaldar y restaurar sistemas pequeños.

A través de mongodump se obtienen exportaciones binarias del contenido de una o varias bases de datos. En concreto existen dos parámetros fundamentales para realizar tanto el dump como el restore: –host y –port.

Asimismo, para especificar el nombre del dump se utiliza –archive, el cual puede visualizarse de una forma muy sencilla:

$ mongodump –host {<hostname> | <ipv6>}[:port] –archive=<name dump file>

O en el caso de especificar host y puerto como parametros separados, el comando seria el siguiente:

$ mongodump –host {<hostname> | <ipv6>} [–port <port>] –archive=<name dump file>

De igual modo se pueden agregar otras posibilidades como –db (-d) y –collection (-c) para especificar respectivamente la base y la collection que se quiere respaldar:

$ mongodump -d dbName -c myCollection

Con el utilitario mongodump se obtendrán los archivos BSON (Binary Json) en conjunto con los datos, los cuales se importan utilizando el utilitario mongorestore. La finalidad de este último es tomar los archivos BSON y generar algún tipo de conexión con un servidor MongoDB para luego guardar los datos correspondientes al archivo. Cabe destacar que las opciones de comando son muy similares a las del mongodump, ya que permiten especificar host, puerto, archivo dump, base de datos, colecciones y demás:

$ mongorestore -–host 127.0.0.1 -–port 27017 –archive=<name dump file>

 

¿Tips?

. Mongodump sobreescribe los archivos de salida si ya se encuentra un dump en la misma carpeta

. Si se tiene el sistema con el control de acceso habilitado, el usuario que ejecuta el mongodump debe poseer permisos al menos de lectura y el que ejecuta el mongorestore el rol restore.

. En caso de que el mongorestore se ejecute con –oplogReplay, se deberá contar con permisos adicionales

Referencias web:

https://docs.mongodb.com/manual/reference/program/mongodump/

https://docs.mongodb.com/manual/reference/program/mongorestore/

Scroll al inicio