MongoDB copia de seguridad (mongodump) y restauración (mongorestore)
Copia de seguridad de datos de MongoDB
En MongoDB usamos el comando mongodump para hacer una copia de seguridad de los datos de MongoDB. Este comando puede exportar todos los datos a un directorio especificado.
El comando mongodump puede especificar mediante parámetros el volumen de datos exportado y el servidor de destino.
Sintaxis
La sintaxis del script del comando mongodump es la siguiente:
>mongodump -h dbhost -d dbname -o dbdirectory
-
-h:
Dirección del servidor donde se encuentra MongoDB, por ejemplo: 127.0.0.1; por supuesto, también se puede especificar el número de puerto: 127.0.0.1:27017
-
-d:
Instancia de base de datos que necesita respaldo, por ejemplo: test
-
-o:
Ubicación de almacenamiento de los datos de respaldo, por ejemplo: c:\data\dump. Por supuesto, este directorio debe crearse con antelación. Una vez completado el respaldo, el sistema crea automáticamente un directorio test dentro del directorio dump, y en este directorio se almacenan los datos de respaldo de la instancia de base de datos.
Ejemplo
Inicia tu servicio mongod localmente usando el puerto 27017. Abre una ventana de símbolo del sistema, entra en el directorio bin del directorio de instalación de MongoDB y escribe el comando mongodump:
>mongodump
Después de ejecutar el comando anterior, el cliente se conectará al servicio MongoDB con IP 127.0.0.1 y puerto 27017, y respaldará todos los datos en el directorio bin/dump/. La salida del comando es la siguiente:
La lista de parámetros opcionales del comando mongodump es la siguiente:
| Sintaxis | Descripción | Ejemplo |
|---|---|---|
| mongodump --host HOST_NAME --port PORT_NUMBER | Este comando respaldará todos los datos de MongoDB. | mongodump --host example.com --port 27017 |
| mongodump --dbpath DB_PATH --out BACKUP_DIRECTORY | mongodump --dbpath /data/db/ --out /data/backup/ | |
| mongodump --collection COLLECTION --db DB_NAME | Este comando respaldará la colección de la base de datos especificada. | mongodump --collection mycol --db test |
Restauración de datos de MongoDB
MongoDB usa el comando mongorestore para restaurar los datos respaldados.
Sintaxis
La sintaxis del script del comando mongorestore es la siguiente:
>mongorestore -h <hostname><:port> -d dbname <path>
-
--host
<:port>, -h <:port>: Dirección del servidor donde se encuentra MongoDB, por defecto: localhost:27017
-
--db
, -d : Instancia de base de datos que se necesita restaurar, por ejemplo: test. Por supuesto, este nombre puede ser diferente al del momento del respaldo, por ejemplo test2.
-
--drop:
Al restaurar, primero se eliminan los datos actuales y luego se restauran los datos del respaldo. Es decir, después de la restauración, los datos agregados o modificados después del respaldo serán eliminados. ¡Úsalo con precaución!
-
<path>:
El último parámetro de mongorestore establece la ubicación de los datos de respaldo, por ejemplo: c:\data\dump\test.
No puedes especificar simultáneamente las opciones <path> y --dir; --dir también puede configurar el directorio de respaldo.
-
--dir:
Especifica el directorio de respaldo.
No puedes especificar simultáneamente las opciones <path> y --dir.
A continuación, ejecutamos el siguiente comando:
>mongorestore
Al ejecutar el comando anterior, el resultado de salida es el siguiente: