Configure la replicación de datos entre Amazon RDS for MySQL y MySQL en EC2 Amazon mediante GTID - Recomendaciones de AWS

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.

Configure la replicación de datos entre Amazon RDS for MySQL y MySQL en EC2 Amazon mediante GTID

Creado por Rajesh Madiwale (AWS)

Resumen

Este patrón describe cómo configurar la replicación de datos en la nube de Amazon Web Services (AWS) entre una instancia de base de datos Amazon Relational Database Service (Amazon RDS) para MySQL y una base de datos MySQL en una instancia de Amazon Elastic Compute Cloud ( EC2Amazon) mediante la replicación del identificador de transacciones globales (GTID) nativo de MySQL.

Con ellas GTIDs, las transacciones se identifican y rastrean cuando se confirman en el servidor de origen y se aplican mediante réplicas. No es necesario consultar los archivos de registro al iniciar una nueva réplica durante la conmutación por error.

Requisitos previos y limitaciones

Requisitos previos 

  •  Una cuenta de AWS activa

  • Una instancia de Amazon Linux implementada

Restricciones

  • Esta configuración requiere que un equipo interno ejecute las consultas de solo lectura.

  • Las versiones de MySQL de origen y de destino deben ser las mismas.

  • La replicación se configura en la misma región de AWS y en la misma nube privada virtual (VPC).

Versiones de producto

  • Versiones de Amazon RDS 5.7.23 y posteriores, que son aquellas compatibles con GTID

Arquitectura

Pila de tecnología de origen

  • Amazon RDS para MySQL

Pila de tecnología de destino

  • MySQL en Amazon EC2

Arquitectura de destino

Replicación de GTID desde una base de datos RDS para MySQL a MySQL en Amazon EC2 en la misma subred privada.

Herramientas

Servicios de AWS

Otros servicios

  • Los identificadores de transacciones globales (GTIDs) son identificadores únicos generados para las transacciones de MySQL confirmadas.

  • mysqldump es una utilidad de cliente para realizar copias de seguridad lógicas mediante la generación de instrucciones SQL que se pueden ejecutar para reproducir las definiciones de los objetos de la base de datos de origen y los datos de las tablas.

  • mysql es el cliente de línea de comandos de MySQL.

Epics

TareaDescripciónHabilidades requeridas

Cree la instancia de RDS para MySQL.

Para crear la instancia de RDS para MySQL, siga los pasos de la documentación de Amazon RDS y use los valores de los parámetros que se describen en la siguiente tarea.

DBA, ingeniero DevOps

Habilite la configuración relacionada con GTID en el grupo de parámetros de la base de datos.

Habilite los siguientes parámetros en el grupo de parámetros de base de datos de Amazon RDS para MySQL.

Establezca enforce_gtid_consistency en on y gtid-mode en on.

 

Administrador de base de datos

Reinicie la instancia de Amazon RDS para MySQL.

Es necesario reiniciar los parámetros para que se apliquen los cambios.

Administrador de base de datos

Cree un usuario y concédale permisos de replicación.

Ejecute los siguientes comandos para instalar MySQL.

CREATE USER 'repl'@'%' IDENTIFIED BY 'xxxx'; GRANT REPLICATION slave ON *.* TO 'repl'@'%' ; FLUSH PRIVILEGES;

 

Administrador de base de datos
TareaDescripciónHabilidades requeridas

Instalar MySQL en Amazon Linux.

Ejecute los siguientes comandos para instalar MySQL.

sudo yum update sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm sudo yum install mysql-community-server sudo systemctl start mysqld
Administrador de base de datos

Inicia sesión en MySQL en la EC2 instancia y crea la base de datos.

El nombre de la base de datos debe ser el mismo que el nombre de la base de datos de Amazon RDS para MySQL. En el ejemplo siguiente, el nombre de la base de datos es replication.

create database replication;
Administrador de base de datos

Edite el archivo de configuración de MySQL y reinicie la base de datos.

Edite el archivomy.conf que se encuentra en /etc/ añadiendo los siguientes parámetros.

server-id=3 gtid_mode=ON enforce_gtid_consistency=ON replicate-ignore-db=mysql binlog-format=ROW log_bin=mysql-bin

A continuación, reinicie el servicio mysqld.

systemctl mysqld restart
Administrador de base de datos
TareaDescripciónHabilidades requeridas

Exporte el volcado de datos de la base de datos Amazon RDS para MySQL.

Para exportar el volcado de Amazon RDS para MySQL, use el siguiente comando.

mysqldump --single-transaction -h mydb.xxxxxxx.amazonaws.com -uadmin -p --databases replication > replication-db.sql
Administrador de base de datos

Restaure el archivo dump .sql en la base de datos MySQL de Amazon. EC2

Para importar el volcado a la base de datos MySQL de Amazon EC2, usa el siguiente comando.

mysql -D replication -uroot -p < replication-db.sql
Administrador de base de datos

Configure la base de datos MySQL en Amazon EC2 como una réplica.

Para iniciar la replicación y comprobar su estado, inicie sesión en la base de datos MySQL de Amazon EC2 y utilice el siguiente comando.

CHANGE MASTER TO MASTER_HOST="mydb.xxxxxxx.amazonaws.com", MASTER_USER="repl", MASTER_PASSWORD="rep123", MASTER_PORT=3306, MASTER_AUTO_POSITION = 1; START SLAVE; SHOW SLAVE STATUS\G
Administrador de base de datos

Recursos relacionados