mysqldump y mysqlpump - Recomendaciones de AWS

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 en las bases de datos para acelerar el proceso de volcado. Se introdujo en la versión 5.7.8 de MySQL. mysqlpump se eliminó en la versión 8.4 de MySQL.

En el diagrama siguiente se muestran los pasos generales que implica migrar una base de datos con un archivo de copia de seguridad de mysqldump o mysqlpump.

Diagrama de migración de un archivo de copia de seguridad de mysqldump o mysqlpump y restauración en una instancia de base de datos de AWS.

A continuación, se muestran los pasos para utilizar mysqldump o mysqlpump para migrar una base de datos a la Nube de AWS.

  1. Instale MySQL Shell en el servidor en las instalaciones. Para ver las instrucciones, consulte Installing 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 de origen en las instalaciones. Para obtener instrucciones, consulte mysqldump and mysqlpump en la documentación de MySQL, o consulte Making Backups with mysqldump en la documentación de MariaDB. Para más información sobre la invocación de programas de MySQL y la especificación de opciones, consulte Using MySQL programs.

  3. Mueva el archivo de copia de seguridad a una instancia de EC2 en la Nube de AWS mediante uno de los enfoques siguientes:

    Enfoque 3A: monte un sistema de archivos de Amazon FSx o Amazon Elastic File System (Amazon EFS) en el servidor en las instalaciones que ejecuta la instancia de base de datos. Puede utilizar AWS Direct Connect o Site-to-Site VPN para establecer la conexión. Puede hacer una copia de seguridad de la base de datos de manera directa en el recurso compartido de archivos montado o puede hacer la copia de seguridad en dos pasos: haga una copia de seguridad de la base de datos en un sistema de archivos local y, a continuación, cárguela en el volumen de FSx o EFS montado. A continuación, monte el sistema de archivos de Amazon FSx o Amazon EFS, que también está montado en el servidor en las instalaciones, en una instancia de EC2.

    Enfoque 3B: utilice AWS CLI, el SDK de AWS o la API de REST de Amazon S3 para mover de manera directa el archivo de copia de seguridad del servidor en las instalaciones a un bucket de S3. Si el bucket de S3 de destino se encuentra en una Región de AWS alejada del centro de datos, puede utilizar Aceleración de transferencias de Amazon S3 para transferir el archivo con mayor rapidez. Utilice el sistema de archivos s3fs-fuse para montar el bucket S3 en la instancia de EC2.

    Enfoque 3C: instale el agente de AWS DataSync en el centro de datos en las instalaciones y utilice AWS DataSync para mover el archivo de copia de seguridad a un bucket de Amazon S3. Utilice el sistema de archivos s3fs-fuse para montar el bucket S3 en la instancia de EC2.

    nota

    También puede utilizar Amazon S3 File Gateway para transferir los archivos de copia de seguridad de una base de datos grande a un bucket de S3 en la Nube de AWS. Para obtener más información, consulte la sección Uso de Amazon S3 File Gateway para transferir archivos de copia de seguridad 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 Reloading SQL-Format Backups en la documentación de MySQL o consulte Restoring Data from Dump Files 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 del registro binario (binlog) para reducir el tiempo de inactividad. Para obtener más información, consulte los siguientes temas:

Ventajas

  • mysqldump y mysqlpump se incluyen en la instalación de MySQL Server

  • Los archivos de copia de seguridad que generan 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 copias de seguridad de un solo subproceso. El rendimiento al hacer 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 copia de seguridad en formato lógico son voluminosos, sobre todo 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 instrucciones 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 ni a las versiones 8.4 y posteriores.

  • De manera predeterminada, mysqlpump no hace copias de seguridad de las bases de datos del sistema, por ejemplo, performance_schema o 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 instrucciones CREATE TABLESPACE de InnoDB

nota

Las copias de seguridad de las instrucciones CREATE TABLESPACE y las bases de datos del sistema solo son útiles cuando se restauran las copias de seguridad de las bases de datos de MySQL o MariaDB en una instancia de 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 ejemplo FOREIGN_KEY_CHECKS, de la 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.