Migración de datos a un clúster de base de datos de Amazon Aurora MySQL - Amazon Aurora

Migración de datos a un clúster de base de datos de Amazon Aurora MySQL

Tiene varias opciones para migrar datos desde una base de datos existente a un clúster de base de datos MySQL en Amazon Aurora. Las opciones de migración dependen también de la base de datos desde la que se realiza la migración y del tamaño de los datos que se van a migrar.

Existen dos tipos de trabajos distintos de migración: física y lógica. La migración física supone que las copias físicas de archivos de base de datos se utilizan para migrar la base de datos. La migración lógica supone que la migración se lleva a cabo aplicando cambios lógicos en la base de datos, tales como inserciones, actualizaciones y eliminaciones.

La migración física tiene las siguientes ventajas:

  • La migración física es más rápida que la migración lógica, especialmente para bases de datos grandes.

  • El desempeño de la base de datos no sufre cuando se toma un backup para migración física.

  • La migración física puede migrar todo en la base de datos origen, incluidos componentes de base de datos complejos.

La migración física tiene las siguientes limitaciones:

  • El parámetro innodb_page_size se debe establecer en su valor predeterminado (16KB).

  • El parámetro innodb_data_file_path debe configurarse con un solo archivo de datos que utilice el nombre de archivo de datos predeterminado "ibdata1:12M:autoextend". Las bases de datos con dos archivos de datos, o con un archivo de datos con un nombre diferente, no se pueden migrar con este método.

    A continuación se muestran ejemplos de nombres de archivo no permitidos: "innodb_data_file_path=ibdata1:50M; ibdata2:50M:autoextend" y "innodb_data_file_path=ibdata01:50M:autoextend".

  • El parámetro innodb_log_files_in_group se debe establecer en su valor predeterminado (2).

La migración lógica tiene las siguientes ventajas:

  • Puede migrar subconjuntos de la base de datos, tales como tablas específicas o partes de una tabla.

  • Los datos se pueden migrar con independencia de la estructura de almacenamiento físico.

La migración lógica tiene las siguientes limitaciones:

  • La migración lógica es habitualmente más lenta que la migración física.

  • Los componentes de base de datos complejos pueden ralentizar el proceso de migración lógica. En algunos casos, los componentes de base de datos complejos pueden incluso bloquear la migración lógica.

En la siguiente tabla se describen sus opciones y el tipo de migración para cada opción.

Migrar desde Migration type Solución

Una instancia de base de datos de RDS for MySQL

Física

Puede migrar desde una instancia de base de datos de RDS for MySQL si crea primero una réplica de lectura de Aurora MySQL de una instancia de base de datos de MySQL. Cuando el retardo de la réplica entre la instancia de base de datos MySQL y la réplica de lectura de Aurora MySQL sea 0, podrá indicar a las aplicaciones de cliente que lean de la réplica de lectura de Aurora y, a continuación, detener la replicación para convertir la réplica de lectura de Aurora MySQL en un clúster de base de datos de Aurora MySQL independiente para lectura y escritura. Para obtener más información, consulte Migración de datos desde una instancia de base de datos de RDS para MySQL a un clúster de base de datos de Amazon Aurora MySQL con una réplica de lectura de Aurora.

Una instantánea de base de datos de RDS for MySQL

Física

Puede migrar datos directamente de una instantánea de base de datos de RDS for MySQL a un clúster de base de datos de Amazon Aurora MySQL. Para obtener más información, consulte Migración de una instantánea de RDS for MySQL a Aurora.

Una base de datos MySQL externa a Amazon RDS

Lógica

Puede crear un volcado de los datos con la utilidad mysqldump y, a continuación, importar esos datos a un clúster de base de datos de Amazon Aurora MySQL. Para obtener más información, consulte Migración lógica de MySQL a Amazon Aurora MySQL mediante mysqldump.

Para exportar metadatos para usuarios de bases de datos durante la migración desde una base de datos MySQL externa, también puede utilizar el comando del intérprete de comandos de MySQL en lugar de mysqldump. Para obtener más información, consulte Instance Dump Utility, Schema Dump Utility, and Table Dump Utility.

nota

La utilidad mysqlpump está en desuso a partir de MySQL 8.0.34.

Una base de datos MySQL externa a Amazon RDS

Física

Puede copiar los archivos de copia de seguridad de la base de datos en un bucket de Amazon Simple Storage Service (Amazon S3) y, a continuación, restaurar un clúster de base de datos de Amazon Aurora MySQL a partir de esos archivos. Esta opción puede ser bastante más rápida que migrar los datos con mysqldump. Para obtener más información, consulte Migración física de MySQL con Percona XtraBackup y Amazon S3.

Una base de datos MySQL externa a Amazon RDS

Lógica

Puede guardar los datos de la base de datos como archivos de texto y copiar esos archivos en un bucket de Amazon S3. A continuación, puede cargar esos datos en un clúster de base de datos de Aurora MySQL con el comando LOAD DATA FROM S3 de MySQL. Para obtener más información, consulte Carga de datos en un clúster de base de datos Amazon Aurora MySQL desde archivos de texto en un bucket de Amazon S3.

Una bases de datos que no sea compatible con MySQL

Logical (Lógica)

Puede utilizar AWS Database Migration Service (AWS DMS) para migrar datos desde una base de datos que no sea compatible con MySQL. Para obtener más información acerca de AWS DMS, consulte ¿Qué es AWS Database Migration Service?

nota

Si está migrando una base de datos de MySQL externa a Amazon RDS, las opciones de migración descritas en la tabla solo se admiten si su base de datos admite los espacios de tabla InnoDB o MyISAM.

Si la base de datos MySQL que va a migrar a Aurora MySQL usa memcached, quite memcached antes de migrarla.

No se puede migrar a la versión 3.05 o posteriores de Aurora MySQL desde algunas versiones anteriores de MySQL 8.0, como 8.0.11, 8.0.13 y 8.0.15. Le recomendamos que actualice a la versión 8.0.28 de MySQL antes de realizar la migración.