MyDumper - 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.

MyDumper

MyDumper(GitHub) es una herramienta de migración lógica de código abierto que consta de dos utilidades:

  • MyDumper exporta una copia de seguridad coherente de las bases de datos MySQL. Permite hacer copias de seguridad de la base de datos mediante el uso de varios subprocesos paralelos, hasta un subproceso por núcleo de CPU disponible.

  • myloader lee los archivos de respaldo creados por MyDumper, se conecta a la instancia de base de datos de destino y, a continuación, restaura la base de datos.

El siguiente diagrama muestra los pasos de alto nivel necesarios para migrar una base de datos mediante un archivo de MyDumper respaldo. En este diagrama de arquitectura se incluyen tres opciones para migrar el archivo de copia de seguridad del centro de datos en las instalaciones a una instancia de EC2 en la Nube de AWS.

Diagrama de migración de un archivo de MyDumper copia de seguridad y uso de myloader para restaurarlo en la AWS instancia de base de datos.

Los siguientes son los pasos que se deben seguir para MyDumper migrar una base de datos a: Nube de AWS

  1. Install MyDumper y myloader. Para obtener instrucciones, consulte Cómo instalar mydumper/myloader (). GitHub

  2. Se utiliza MyDumper para crear una copia de seguridad de la base de datos MySQL o MariaDB de origen. Para obtener instrucciones, consulte Cómo usarlo. MyDumper

  3. Mueva el archivo de respaldo 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 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.

    Método 3B: utilice el AWS CLI 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 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 myloader para restaurar la copia de seguridad en la instancia de base de datos de destino. Para obtener instrucciones, consulte myloader usage (GitHub).

  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

  • MyDumper admite el paralelismo mediante el uso de subprocesos múltiples, lo que mejora la velocidad de las operaciones de copia de seguridad y restauración.

  • MyDumper evita costosas rutinas de conversión de conjuntos de caracteres, lo que ayuda a garantizar que el código sea altamente eficiente.

  • MyDumper simplifica la visualización y el análisis de los datos mediante la descarga de archivos separados para las tablas y los metadatos.

  • MyDumper mantiene instantáneas en todos los subprocesos y proporciona posiciones precisas de los registros principales y secundarios.

  • Puede utilizar las expresiones regulares compatibles con Perl (PCRE) para especificar si quiere incluir o excluir las tablas o las bases de datos.

Limitaciones

  • Puede elegir otra herramienta si los procesos de transformación de datos requieren archivos de volcado intermedios en formato plano en lugar de formato SQL.

  • myloader no importa de manera automática las cuentas de usuario de la base de datos. Si va a restaurar la copia de seguridad en Amazon RDS o Aurora, vuelva a crear los usuarios con los permisos necesarios. Para más información, consultePrivilegios de la cuenta de usuario maestro en la documentación de Amazon RDS. Si va a restaurar la copia de seguridad en una instancia de base de datos de Amazon EC2, puede exportar de manera manual las cuentas de usuario de la base de datos de origen e importarlas a la instancia de EC2.

Prácticas recomendadas

  • Configúrela MyDumper para dividir cada tabla en segmentos, por ejemplo, 10 000 filas en cada segmento, y escriba cada segmento en un archivo independiente. Esto permite importar los datos en paralelo más tarde.

  • Si utiliza el motor de InnoDB, utilice la opción --trx-consistency-only para minimizar el bloqueo.

  • El uso de la base de datos MyDumper para exportar puede resultar intensivo en lectura y el proceso puede afectar al rendimiento general de la base de datos de producción. Si tiene una instancia de base de datos de réplica, ejecute el proceso de exportación desde la réplica. Antes de ejecutar la exportación desde la réplica, detenga el subproceso de SQL de replicación. De este modo, el proceso de exportación se ejecute con mayor rapidez.

  • No exporte la base de datos durante las horas de mayor actividad. Evitar las horas de mayor actividad puede estabilizar el rendimiento de la base de datos de producción principal durante la exportación de la base de datos.

  • Amazon RDS para MySQL no admite el complemento keyring_aws. Para más información, consulte Known issues and limitations. Para migrar las tablas cifradas en las instalaciones a la instancia de Amazon RDS, en los scripts de copia de seguridad, debe eliminar ENCRYPTION o DEFAULT ENCRYPTION de la sintaxis CREATE TABLE. Para el cifrado en reposo, puede utilizar una clave AWS Key Management Service (AWS KMS). Para obtener más información, consulte Cifrado de recursos de Amazon RDS.