mysqldump y mysqlpump - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

mysqldump y mysqlpump

mysqldump y mysqlpump son herramientas de copia de seguridad de bases de datos nativas para MySQL. MariaDB es compatible con mysqldump pero no con mysqlpump. Ambas herramientas crean copias de seguridad lógicas y forman parte de los programas cliente de MySQL. mysqldump admite el procesamiento de un solo subproceso. mysqlpump admite el procesamiento paralelo de bases de datos y objetos dentro de las bases de datos, para acelerar el proceso de volcado. Se introdujo en la versión 5.7.8 del servidor MySQL.

El siguiente diagrama muestra los pasos de alto nivel necesarios para migrar una base de datos mediante un archivo de respaldo de mysqldump o mysqlpump.

Diagrama de cómo migrar un archivo de respaldo de mysqldump o mysqlpump y restaurarlo en una instancia de base de datos. AWS

Los siguientes son los pasos para usar mysqldump o mysqlpump para migrar una base de datos a: Nube de AWS

  1. Instale MySQL Shell en el servidor local. Para obtener instrucciones, consulte Instalación de MySQL Shell en la documentación de MySQL. Esto instala mysqldump y mysqlpump.

  2. Con mysqldump o mysqlpump, cree una copia de seguridad de la base de datos local de origen. Para obtener instrucciones, consulte mysqldump y mysqlpump en la documentación de MySQL, o consulte Hacer copias de seguridad con mysqldump en la documentación de MariaDB. Para obtener más información sobre la invocación de programas MySQL y la especificación de opciones, consulte Uso de programas MySQL.

  3. Mueva el archivo de copia de seguridad a una instancia EC2 de la siguiente manera: Nube de AWS

    Método 3A: monte un sistema de archivos Amazon FSx o Amazon Elastic File System (Amazon EFS) en el servidor local que ejecuta la instancia de base de datos. Puede usar AWS Direct Connect o establecer AWS VPN la conexión. Puede hacer una copia de seguridad de la base de datos directamente en el recurso compartido de archivos montado o puede realizar la copia de seguridad en dos pasos: hacer una copia de seguridad de la base de datos en un sistema de archivos local y, a continuación, cargarla en el volumen FSx o EFS montado. A continuación, monte el sistema de archivos Amazon FSx o Amazon EFS, que también está montado en el servidor local, en una instancia EC2.

    Método 3B: utilice AWS CLI el AWS SDK o la API REST de Amazon S3 para mover directamente el archivo de respaldo del servidor local a un bucket de S3. Si el depósito S3 de destino se encuentra en un Región de AWS lugar alejado del centro de datos, puede utilizar Amazon S3 Transfer Acceleration para transferir el archivo con mayor rapidez. Utilice el sistema de archivos s3fs-fuse para montar el bucket S3 en la instancia EC2.

    Método 3C: instale el AWS DataSync agente en el centro de datos local y utilícelo AWS DataSyncpara mover el archivo de respaldo a un bucket de Amazon S3. Utilice el sistema de archivos s3fs-fuse para montar el bucket de S3 en la instancia EC2.

    nota

    También puede usar Amazon S3 File Gateway para transferir los archivos de respaldo de bases de datos de gran tamaño a un bucket de S3 en el Nube de AWS. Para obtener más información, consulte la sección Uso de Amazon S3 File Gateway para transferir archivos de respaldo de esta guía.

  4. Utilice el método de restauración nativo para restaurar la copia de seguridad en la base de datos de destino. Para obtener instrucciones, consulte Recargar copias de seguridad en formato SQL en la documentación de MySQL o consulte Restauración de datos de archivos de volcado en la documentación de MariaDB.

  5. (Opcional) Puede configurar la replicación entre la base de datos de origen y la instancia de base de datos de destino. Puede utilizar la replicación de registros binarios (binlog) para reducir el tiempo de inactividad. Para más información, consulte los siguientes temas:

Ventajas

  • mysqldump y mysqlpump están incluidos en la instalación de MySQL Server

  • Los archivos de respaldo generados por estas herramientas están en un formato más legible.

  • Antes de restaurar el archivo de copia de seguridad, puede modificar el archivo.sql resultante mediante un editor de texto estándar.

  • Puede hacer una copia de seguridad de una tabla, base de datos o incluso de una selección de datos concreta.

  • mysqldump y mysqlpump son independientes de la arquitectura de la máquina.

Limitaciones

  • mysqldump es un proceso de backup de un solo subproceso. El rendimiento al realizar una copia de seguridad es bueno para bases de datos pequeñas, pero puede resultar ineficiente cuando el tamaño de la copia de seguridad es superior a 10 GB.

  • Los archivos de Backup en formato lógico son voluminosos, especialmente cuando se guardan como texto, y suelen tardar en crearse y restaurarse.

  • La restauración de los datos puede resultar lenta porque volver a aplicar las sentencias SQL en la instancia de base de datos de destino implica un procesamiento intensivo de E/S del disco y de la CPU para su inserción, creación de índices y aplicación de las restricciones de integridad referencial.

  • La utilidad mysqlpump no es compatible con las versiones de MySQL anteriores a la 5.7.8.

  • De forma predeterminada, mysqlpump no realiza copias de seguridad de las bases de datos del sistema, como o. performance_schema sys Para hacer una copia de seguridad de una parte de la base de datos del sistema, asígnele un nombre explícito en la línea de comandos.

  • mysqldump no hace copias de seguridad de las sentencias de InnoDB. CREATE TABLESPACE

Nota: Las copias de seguridad de las sentencias CREATE TABLESPACE y las bases de datos del sistema solo son útiles cuando se restauran las copias de seguridad de las bases de datos MySQL o MariaDB en una instancia EC2. Estas copias de seguridad no se utilizan para Amazon RDS ni Aurora.

Prácticas recomendadas

  • Cuando restaure la copia de seguridad de la base de datos, desactive las comprobaciones clave, por ejemploFOREIGN_KEY_CHECKS, a nivel de sesión en la base de datos de destino. Esto aumenta la velocidad de restauración.

  • Asegúrese de que el usuario de la base de datos tenga los privilegios suficientes para crear y restaurar la copia de seguridad.