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

MongoDB - Crear una copia de seguridad

Para crear una copia de seguridad en MongoDB, copie los archivos directamente o use una de varias herramientas de administración/copia de seguridad.

Hay varias formas de hacer una copia de seguridad de una base de datos MongoDB:

  • Copie los archivos de datos
  • Utilice mongodump
  • Usar el administrador de la nube de MongoDB
  • Usar el administrador de operaciones

Copiar los archivos de datos

Puede copiar los archivos de datos subyacentes que utiliza MongoDB para almacenar datos. Estos se encuentran en el directorio de datos.

La ubicación predeterminada del directorio de datos es /data/db , sin embargo, si usa una ubicación diferente, deberá usar esa en su lugar.

Debe copiar todo el directorio para una copia de seguridad completa.

También puede usar instantáneas si el volumen lo admite. Por ejemplo, en Linux, use LVM (Administrador de volúmenes lógicos) para crear una instantánea, luego puede copiar esa instantánea a su sitio de copia de seguridad/ubicación remota.

Usar mongodump

Puedes usar mongodump para hacer una copia de seguridad de los datos y mongorestore para restaurarlo.

Para realizar rápidamente una copia de seguridad de todo el contenido del servidor en ejecución, abra una nueva Terminal/Símbolo del sistema, cambie a un directorio en el que desee /dump carpeta en la que se creará y escriba lo siguiente:

mongodump

Deberá proporcionar la ruta completa si el directorio bin de MongoDB no está en su RUTA.

Si encuentra que no puede ejecutar mongodump , asegúrese de haber salido de mongo utilidad, o abrió una nueva ventana de Terminal/Símbolo del sistema antes de ejecutar mongodump , ya que es una utilidad separada.

Mensaje resultante:

2016-07-12T15:44:34.467+0700	writing music.artists to 
2016-07-12T15:44:34.467+0700	writing music.musicians to 
2016-07-12T15:44:34.467+0700	writing music.catalog to 
2016-07-12T15:44:34.468+0700	done dumping music.artists (13 documents)
2016-07-12T15:44:34.469+0700	done dumping music.musicians (10 documents)
2016-07-12T15:44:34.469+0700	done dumping music.catalog (10 documents)
2016-07-12T15:44:34.470+0700	writing music.producers to 
2016-07-12T15:44:34.470+0700	writing music.jazz to 
2016-07-12T15:44:34.470+0700	done dumping music.producers (5 documents)
2016-07-12T15:44:34.470+0700	done dumping music.jazz (1 document)
2016-07-12T15:44:34.534+0700	writing test.restaurants to 
2016-07-12T15:44:34.705+0700	done dumping test.restaurants (25359 documents)

Y así es como se ve en el Finder de mi Mac:

Como puede ver, ha creado una carpeta llamada dump , luego una carpeta para cada base de datos, luego volcó todas las colecciones y sus metadatos en la carpeta de la base de datos respectiva. He ampliado la música carpeta de base de datos para mostrar los archivos dentro de ese directorio.

Tenga en cuenta que mongodump sobrescribe los archivos de salida si existen en la carpeta de datos de respaldo, así que asegúrese de mover o cambiar el nombre de cualquier archivo que necesite conservar antes de ejecutar mongodump de nuevo.

Copia de seguridad de una sola base de datos

Puede hacer una copia de seguridad de una sola base de datos especificando el nombre de la base de datos en --db parámetro:

mongodump --db=music

Copia de seguridad de una sola colección

Puede hacer una copia de seguridad de una sola colección especificando el nombre de la colección en --collection parámetro:

mongodump --db=music --collection=artists

Especifique una ubicación de copia de seguridad

Usa el --out parámetro para especificar el directorio en el que desea que se escriba la copia de seguridad:

mongodump --db music --out /data/backups

Más opciones

mongodump tiene muchas más opciones para especificar cómo se respaldan los datos. Siempre puedes ejecutar mongodump --help para ver qué opciones están disponibles.

Restaurar un mongodump Copia de seguridad

Puede restaurar cualquier mongodump copia de seguridad ejecutando mongorestore . que funciona de manera similar a mongodump .

Ver mongorestore --help para más información.

mongodump y mongorestore están pensados ​​principalmente para implementaciones más pequeñas y para copias de seguridad y restauraciones parciales basadas en una consulta, sincronización de producción a entornos de ensayo o desarrollo, o cambio del motor de almacenamiento de un sistema independiente.

Para sistemas más grandes, clústeres fragmentados o conjuntos de réplicas, use un sistema de respaldo más sólido, como MongoDB Cloud Manager u Ops Manager.

Administrador de la nube de MongoDB

MongoDB Cloud Manager es una plataforma alojada para administrar MongoDB.

Puede usar MongoDB Cloud Manager para realizar copias de seguridad continuas de conjuntos de réplicas y clústeres fragmentados de MongoDB leyendo los datos de registro de operaciones de su implementación de MongoDB.

MongoDB Cloud Manager funciona por suscripción. Más información aquí.

Gerente de operaciones

Ops Manager es como MongoDB Cloud Manager, excepto que está instalado en su entorno local (es decir, no en la nube). Por lo tanto, puede usarlo para monitorear, automatizar y hacer una copia de seguridad de su implementación de MongoDB.

Ops Manager está disponible para los suscriptores de MongoDB.