Uso de una base de datos compatible con MySQL como fuente para migraciones de datos homogéneas en AWS DMS - AWS Database Migration Service

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.

Uso de una base de datos compatible con MySQL como fuente para migraciones de datos homogéneas en AWS DMS

Puede utilizar una base de datos compatible con MySQL (MySQL o MariaDB) como origen para Migraciones de datos homogéneas en AWS DMS. En este caso, el proveedor de datos de origen puede ser una base de datos en las instalaciones, Amazon EC2 o RDS para MySQL o MariaDB.

Para ejecutar migraciones de datos homogéneas, debe utilizar un usuario de base de datos con los privilegios SELECT necesarios para la replicación de todas las tablas de origen y los objetos secundarios. Para las tareas de captura de datos de cambios (CDC), este usuario también debe tener los privilegios REPLICATION CLIENT (BINLOG MONITOR para las versiones de MariaDB posteriores a la 10.5.2) y REPLICATION SLAVE. Para una migración de datos de carga completa, no necesita estos dos privilegios.

Utilice el siguiente script para crear un usuario de base de datos con los permisos necesarios en la base de datos MySQL. Ejecute las GRANT consultas para todas las bases de datos a AWS las que migre.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

En el ejemplo anterior, sustituya cada marcador de posición del usuario por su propia información. Si la versión de la base de datos MySQL de origen es inferior a la 8.0, puede omitir el comando GRANT BACKUP_ADMIN.

Utilice el siguiente script para crear un usuario de base de datos con los permisos necesarios en la base de datos MariaDB. Ejecute las consultas GRANT para todas las bases de datos a las que migre AWS.

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

En el ejemplo anterior, sustituya cada marcador de posición del usuario por su propia información.

En las siguientes secciones se describen los requisitos previos de configuración específicos para las bases de datos MySQL autoadministradas y administradas por AWS.

Uso de una base de datos compatible con MySQL autoadministrada como origen para migraciones de datos homogéneas

En esta sección se describe cómo configurar las bases de datos compatibles de MySQL alojadas en las instalaciones o en instancias de Amazon EC2.

Elija la versión de la base de datos de MySQL o MariaDB de origen. Asegúrese de que AWS DMS es compatible con la versión de la base de datos MySQL o MariaDB de origen, tal y como se describe en. Orígenes para las migraciones de datos homogéneas de DMS

Para usar CDC, asegúrese de habilitar el registro binario. Para habilitar el registro binario, configure los siguientes parámetros en el archivo my.ini (Windows) o my.cnf (UNIX) de la base de datos de MySQL o MariaDB.

Parámetro

Valor

server-id

Establezca este parámetro con un valor de 1 o superior.

log-bin

Establezca la ruta del archivo de registro binario, como por ejemplo log-bin=E:\MySql_Logs\BinLog. No incluya la extensión del archivo.

binlog_format

Establezca este parámetro en ROW. Recomendamos esta configuración durante la replicación porque, en determinados casos, cuando binlog_format se establece en STATEMENT, puede provocar incoherencias al replicar los datos en el destino. El motor de base de datos también escribe datos similares e incoherentes en el destino cuando binlog_format está configurado en MIXED, ya que el motor de base de datos cambia automáticamente al registro basado en STATEMENT.

expire_logs_days

Establezca este parámetro con un valor de 1 o superior. Para evitar la sobrecarga de espacio en disco, se recomienda que no utilice el valor 0, que es el predeterminado.

binlog_checksum

Establezca este parámetro en NONE.

binlog_row_image

Establezca este parámetro en FULL.

log_slave_updates

Establezca este parámetro en TRUE si está utilizando una réplica de MySQL o MariaDB como origen.

Uso de una base AWS de datos compatible con MySQL administrada como fuente para migraciones de datos homogéneas en AWS DMS

En esta sección se describe cómo configurar las instancias de base de datos de Amazon RDS para MySQL y Amazon RDS para MariaDB.

Cuando utilice una base AWS de datos MySQL o MariaDB gestionada como fuente para migraciones de datos homogéneas, asegúrese de cumplir AWS DMS los siguientes requisitos previos para la CDC:

  • Para habilitar los registros binarios de RDS para MySQL y MariaDB, habilite las copias de seguridad automáticas en el nivel de instancia. Para habilitar los registros binarios para un clúster de Aurora MySQL, cambie la variable binlog_format en el grupo de parámetros. No es necesario habilitar las copias de seguridad automáticas de un clúster de Aurora MySQL.

    A continuación, establezca el parámetro binlog_format en ROW.

    Para obtener más información sobre la configuración de copias de seguridad automáticas, consulte Habilitación de copias de seguridad automáticas en la Guía del usuario de Amazon RDS.

    Para obtener más información sobre la configuración del registro binario para una base de datos de Amazon RDS para MySQL o MariaDB, consulte Configuración del formato de registro binario en la Guía del usuario de Amazon RDS.

    Para obtener más información sobre la configuración del registro binario para un clúster de Aurora MySQL, consulte ¿Cómo activo el registro binario para mi clúster de Amazon Aurora MySQL?.

  • Asegúrese de que los registros binarios estén disponibles para. AWS DMS Dado que las bases AWS de datos MySQL y MariaDB administradas purgan los registros binarios lo antes posible, debe aumentar el tiempo que los registros permanecen disponibles. Por ejemplo, para incrementar la retención de logs a 24 horas, ejecute el siguiente comando.

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • Establezca el parámetro binlog_row_image como Full.

  • Establezca el parámetro binlog_checksum como NONE.

  • Si utiliza una réplica de Amazon RDS MySQL o MariaDB como origen, habilite las copias de seguridad en la réplica de lectura y asegúrese de que el parámetro log_slave_updates esté establecido en TRUE.

Limitaciones para usar una base de datos compatible con MySQL como origen para migraciones de datos homogéneas

Las siguientes limitaciones se aplican al usar una base de datos compatible con MySQL como origen para migraciones de datos homogéneas:

  • Los objetos de MariaDB, como las secuencias, no son compatibles con las tareas de migración homogéneas.

  • Es posible que la migración de MariaDB a Amazon RDS MySQL/Aurora MySQL produzca un error debido a diferencias de objetos incompatibles.

  • El nombre de usuario que utiliza para conectarse al origen de datos tiene las siguientes limitaciones:

    • Puede tener entre 2 y 64 caracteres de longitud.

    • No puede haber espacios.

    • Puede incluir los siguientes caracteres: a-z, A-Z, 0-9 y guion bajo (_).

    • Debe empezar por a-z o A-Z.

  • La contraseña que utiliza para conectarse al origen de datos tiene las siguientes limitaciones:

    • Puede tener hasta 1 a 128 caracteres de longitud.

    • No puede contener ninguno de los siguientes caracteres: comillas simples ('), comillas dobles ("), punto y coma (;) ni espacios.