Ejemplos de Mongorestore para restaurar copias de seguridad de MongoDB

Ejemplos de Mongorestore para restaurar copias de seguridad de MongoDB

  • Orquestación
6 min de lectura Actualizado Feb 12, 2025

Puntos clave: Mongorestore están una utilidad diseñada para restaurar copias de seguridad de MongoDB creadas con mongodump, permitiendo la restauración de datos en bases de datos existentes o la creación de nuevas. Soporta múltiples versiones de MongoDB y ofrece funciones como la restauración a partir de archivos estándar de entrada y archivo.

  • Mongorestore no sobrescribe documentos existentes durante la restauración.
  • Es esencial utilizar versiones compatibles de mongodump y mongorestore para una restauración eficaz.

Es esencial contar con un método eficiente y fiable de restauración de datos tras hacer copias de seguridad durante el proceso de copia de seguridad y restauración. Considera las diferencias:

  • Un método de restauración correctamente configurado permite a los usuarios restaurar con éxito los datos al estado anterior.
  • Un método de restauración deficiente hace que todo el proceso de copia de seguridad sea ineficaz, ya que impide que los usuarios accedan y restauren los datos respaldados.

El comando mongorestore están el comando hermano del comando mongodump. te puede restaurar los volcados (copias de seguridad) creados por el comando mongodump en una instancia de MongoDB usando el comando mongorestore. En este artículo, te conoce cómo utilizar el comando mongorestore para restaurar copias de seguridad de MongoDB de manera efectiva.

¿Qué es mongorestore?

Mongorestore están una utilidad sencilla que se está utilizando para restaurar copias de seguridad. Puede cargar datos desde cualquiera de:

  • Un archivo de volcado de base de datos creado mediante el comando mongodump
  • La entrada estándar de una instancia de mongod o mongos

A partir de MongoDB 4.4, la utilidad mongorestore no están incluida en el paquete base de instalación del servidor MongoDB. En su lugar, se distribuye como un paquete separado dentro del paquete de Herramientas de Base de Datos MongoDB. Esto permite que la utilidad tenga un esquema de versiones separado a partir de la 100.0.0. La utilidad mongorestore ofrece soporte para las versiones 4.4, 4.2, 4.0 y 3.6 de MongoDB. También puede funcionar con versiones anteriores de MongoDB, pero la compatibilidad no están garantizada. Además, mongorestore soporta multitud de plataformas y sistemas operativos que van desde x86 hasta s390x; te puede Ve la lista completa de compatibilidad en la documentación oficial.

Comportamiento de Mongorestore

Aquí están una lista de cosas que te necesitas saber sobre el comando de restauración de Mongo y los comportamientos de la utilidad de Mongorreste.

  • La utilidad mongorestore permite a los usuarios restaurar datos en una base de datos existente o Crea una nueva base de datos. Al restaurar datos en una base de datos existente, mongorestore solo utiliza insertará comandos y no realiza ningún tipo de actualización. Por ello, los documentos existentes con un valor coincidente para el campo _id de los documentos en la copia de seguridad no serán sobrescritos por el proceso de restauración.

Esto provocará un error de clave duplicada durante el proceso de restauración, como se muestra aquí:

Comportamiento de Mongostore - errores de clave duplicada
  • Como mongodump no respalda índices, el comando mongorestore recreará los índices registrados por mongodump.
  • La mejor práctica al hacer copias de seguridad y restaurar una base de datos están utilizar las versiones correspondientes tanto de mongodump como de mongorestore. Si se está creando una copia de seguridad usando una versión específica de la utilidad mongodump, están recomendable utilizar su versión correspondiente de la utilidad mongorestore para realizar la operación de restauración.
  • Mongorestore no restaurará los datos de la colección "system.profile".
  • La utilidad mongorestore está totalmente cumplida con las conexiones FIPS (Estándar Federal de Procesamiento de Información) para realizar operaciones de restauración.
  • Al restaurar datos en una instancia de MongoDB con control de acceso, te debes tener en cuenta los siguientes escenarios:
    • Si el conjunto de datos de restauración no incluye la colección "system.profile" y te ejecutar el comando mongorestore sin la opción –oplogReply, el rol "restore" proporcionará los permisos necesarios para llevar a cabo el proceso de restauración.
    • Al restaurar copias de seguridad que incluyen la colección "system.profile", aunque mongorestore no restauraría dicha colección, intentará Crea una colección "system.profile" nueva. En ese caso, te puede utiliza los roles "dbAdmin" y "dbAdminAnyDatabase" para proporcionar los permisos necesarios.
    • Para ejecutar el comando mongorestore con la opción –oplogReply, el usuario debe Crea un nuevo rol definido por el usuario con anyAction en los permisos de anyResource.
  • te no puede utiliza la utilidad mongorestore en una estrategia de respaldo al hacer copias de seguridad y restaurar clústeres fragmentados con transacciones fragmentadas en curso. Este cambio se introdujo en MongoDB 4.2. Al tratar con clústeres compartidos, las soluciones recomendadas serían MongoDB Cloud Manager u Ops Manager, ya que pueden mantener la atomicidad de las transacciones entre shards.
  • El comando mongorestore debe ejecutarse desde el shell de comandos del sistema porque están una utilidad de base de datos separada.

Usando MongoDB mongorestore

En esta sección, te descubrirás el uso básico de la utilidad mongorestore en una instancia independiente de MongoDB.

Sintaxis básica de mongorestore

    mongorestore

La forma básica de restaurar una base de datos están utilizando el comando mongorestore para especificar el directorio de copia de seguridad (volcado de directorio) sin ninguna opción. Esta opción es adecuada para bases de datos ubicadas en el localhost (127.0.0.1) que usan el puerto 27017. El proceso de restauración Crea nuevas bases de datos y colecciones según sea necesario y también registrará su progreso.

    mongorestore ./dump/

Resultado:

sintaxis de mongostore

En el ejemplo anterior, te puede Ve cómo restaurar con éxito la base de datos de "vehículos" con todas sus colecciones y documentos. Esto Crea una nueva base de datos llamada vehículos en la instancia de MongoDB que contenga todas las colecciones y documentos de la copia de seguridad. te puede verifica el proceso de restauración iniciando sesión en la instancia de MongoDB.

    use vehicles
show collections
db.vehicleinformation.find()

Resultado:

Verifica Mongostore. Copia de seguridad

Restauración de datos en una instancia remota de MongoDB usando mongostore

Para restaurar datos en una instancia remota de MongoDB, te necesitas establecer la conexión. La conexión a una base de datos puede especificarse usando cualquiera de:

  • La cadena de conexión URI
  • La opción de anfitrión
  • La opción de anfitrión y puerto

Conexión usando la opción URI:

    mongorestore [additional options] --uri="mongodb://:" [restore directory/file]

Conexión usando la opción de anfitrión:

    mongorestore [additional options] --host=":"  [restore directory/file]

Conexión usando opciones de host y puerto:

    mongorestore [additional options] --host="" --port=  [restore directory/file]

El ejemplo de mongostore que aparece a continuación muestra te cómo restaurar una copia de seguridad de la instancia remota de MongoDB. La opción verbosa proporcionará a los usuarios un desglose detallado del proceso de restauración.

    mongorestore --verbose --host="10.10.10.59" --port=27017 ./dump/

Resultado:

Ejemplo de Mongostore de una instancia remota de MongoDB

Restauración de una instancia segura de MongoDB

Al conectarse a una instancia de MongoDB con control de acceso, te debe proporcionar:

  • Nombre de usuario
  • Contraseña
  • Opciones de la base de datos de autenticación

Además, mongorestore soporta autenticaciones basadas en claves. Es necesario asegurarse de que el usuario autenticado tenga los permisos y roles necesarios para llevar a cabo el proceso de restauración. Sintaxis de autenticación:

    mongorestore [additional options] --authenticationDatabase= -u= -p=

El siguiente comando de restauración muestra cómo conectarse a un servidor remoto de MongoDB usando el nombre de usuario y la contraseña para la autenticación.

    mongorestore --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" ./dump/

Resultado:

Comando de restauración de mongostore para una instancia remota de MongoDB

Selección de bases de datos y colecciones

Usando la opción –nsInclude, los usuarios pueden especificar qué base de datos o colección debe restaurarse. Al usar la opción –nsInclude, te puedes utilizar el patrón de espacios de nombres (Ex: "vehicles.*", "vehicles.vehicleInformation") para Define qué base de datos o colección debe incluirse. Para especificar múltiples espacios de nombres, tú puedes utilizar el comando –nsInclude varias veces en un solo comando. El comando -nsInclude también soporta que se añadan comodines en el espacio de nombres definido. Las opciones –db y –collection son obsoletas y darán lugar al siguiente error.

Comando mongostore para múltiples espacios de nombres

Para excluir una base de datos o una colección, te puedes utilizar el comando –nsExclude. Selección de una base de datos/colección:

    mongorestore [additional options] --nsInclude= (${DATABASE}.${COLLECTION}) [restore directory/file]

Excluyendo una base de datos/colección:

    mongorestore [additional options] --nsExclude= (${DATABASE}.${COLLECTION}) [restore directory/file]

En el siguiente ejemplo, te Ve cómo restaurar la base de datos completa de "personas". te puede incluir toda la base de datos especificando el espacio de nombres "personas" con el asterisco como un patrón comodín. Esto restaurará todos los datos dentro de la base de datos.

    mongorestore --nsInclude=persons.* --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" ./dump/

Resultado:

Utiliza mongostore para restaurar datos de un archivo de archivo

La utilidad mongorestore soporta restauraciones desde un archivo de archivo. La opción –archive puede usarse para seleccionar el archivo de archivo, y las opciones –nsInclude y –nsExclude pueden usarse junto con la opción de archivo.

    mongorestore [additional options] --archive=

El siguiente ejemplo ilustra cómo Define un archivo de archivo al restaurar datos. La opción –nsInclude se están utilizada para especificar qué colección están a restaurar en la base de datos desde el archivo de archivo.

    mongorestore -v --nsInclude=vehicles.vehicleinformation --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --archive=db.archive

Resultado:

Define un archivo de archivo al restaurar datos con Mongostore

Restauración de datos de un archivo comprimido

La utilidad mongodump utiliza la opción –gzip para comprimir los archivos JSON y BSON individuales. Estas copias de seguridad comprimidas también pueden usarse para restaurar la base de datos. El archivo comprimido también puede filtrarse usando las opciones –nsInclude y –nsExclude.

    mongorestore --gzip [additional options] [restore directory/file]

te puede restaurar una copia de seguridad comprimida de MongoDB usando los siguientes comandos. La copia de seguridad comprimida están almacenada en el directorio "backupzip".

    mongorestore --gzip -v --nsInclude=vehicles.vehicleinformation --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" ./backupzip/

Resultado:

restaurar una copia de seguridad comprimida de MongoDB con mongostore

El mismo proceso puede aplicarse a un archivo de archivo comprimido. El siguiente ejemplo de mongostore muestra cómo restaurar datos de un archivo comprimido.

    mongorestore --gzip -v --nsInclude=vehicles.vehicleinformation --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --archive=db.archive

Resultado:

Ejemplo de cómo restaurar datos de un archivo comprimido en Mongostore

Comando Mongostore para restaurar datos desde entrada estándar

El comando mongostore "mongorestore" permite a los usuarios leer datos de entradas estándar y utiliza esos datos en el proceso de restauración. te pueden leer los datos proporcionando la opción –archive sin el nombre del archivo.

    mongodump [additional options] --archive | mongorestore [additional options] –archive

El siguiente ejemplo muestra cómo Crea una copia de seguridad desde una base de datos MongoDB segura usando mongodump y pasarla como entrada estándar al comando mongorestore para restaurarla en una instancia remota insegura de MongoDB.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --db=vehicles --archive | mongorestore --host=10.10.10.58 --port=27018 --archive

Resultado:

Crea una copia de seguridad desde una base de datos segura de MongoDB usando mongodump

te puede verifica el proceso de restauración comprobando las bases de datos con el servidor remoto. Esto se puede hacer ejecutando un código JavaScript usando la etiqueta –eval. Usando el comando de administración "listDatabases", te podrá listar todas las bases de datos dentro de la instancia remota de MongoDB.

    mongo --host=10.10.10.58 --port=27018 --quiet --eval 'printjson(db.adminCommand( { listDatabases: 1 } ))'

Resultado:

mongorestore y mongodump

Este tutorial ofrece un conocimiento profundo sobre la utilidad MongoDB mongorestore y cómo puede utilizarse para restaurar copias de seguridad creadas por mongodump. Mongorestore ofrece una forma cómoda y eficiente de restaurar copias de seguridad de bases de datos. La combinación de mongodump con mongorestore proporciona a los administradores de bases de datos a pequeña escala una estrategia completa de copias de seguridad.

Lecturas relacionadas

Guía de MongoDB

  1. Resumen de MongoDB: Empezando con MongoDB
  2. Cómo instalar MongoDB en Ubuntu y Mac
  3. Creación de una base de datos en MongoDB
  4. Comandos básicos de MongoDB Shell
  5. MongoDB Compass: Uso de la interfaz gráfica de Mongo
  6. Explicación del Control de Acceso Basado en Roles (RBAC) de MongoDB
  7. Explicación de los operadores de proyección y proyección de MongoDB
  8. Explicación de las funciones agregadas de MongoDB
  9. Ordenación de MongoDB: método y ejemplos de sort()
  10. Uso de operadores de Push & Pull en MongoDB
  11. Cómo utiliza MongoDB $unwind
  12. 23 operadores comunes de consultas de MongoDB y cómo utilizarlos
  13. Ejemplos de consultas de geolocalización de MongoDB
  14. Introducción a las transacciones de MongoDB
  15. Índices de MongoDB: Principales tipos de índices y cómo gestionarlos
  16. Mejores comandos de MongoDB te necesitas saber
  17. Replicación de MongoDB: Una introducción completa
  18. Cómo configurar un clúster de MongoDB
  19. Fragmentos de MongoDB: Conceptos, Ejemplos y Tutoriales
  20. MongoDB Atlas: Configuración y uso de MongoDB gestionado
  21. Cómo ejecutar MongoDB como contenedor Docker
  22. Uso, gestión y requisitos de memoria de MongoDB
  23. Cómo utilizar Mongodump para copias de seguridad de MongoDB
  24. Ejemplos de Mongorestore para restaurar copias de seguridad de MongoDB
  25. Cómo utilizar PyMongo
  26. Cómo utilizar Mongoose para MongoDB y NodeJS
  27. Chuletas de MongoDB
  28. MongoDB vs Cassandra: Comparación de bases de datos NoSQL
  29. PostgreSQL vs MongoDB: Comparando bases de datos
  30. MySQL vs MongoDB: Comparando bases de datos
  31. Certificaciones MongoDB: Una introducción

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.