Configure la replicación de datos entre Amazon RDS for My SQL y My SQL on Amazon EC2 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 My SQL y My SQL on Amazon EC2 mediante GTID

Creado por Rajesh Madiwale () AWS

Entorno: PoC o piloto

Tecnologías: bases de datos

Carga de trabajo: código abierto

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 Amazon Relational Database Service (RDSAmazon) para SQL My DB y una SQL My database en una instancia de Amazon Elastic Compute Cloud (EC2Amazon) mediante la replicación de SQL mi identificador de transacción global nativo GTID ().

ConGTIDs, 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 activa AWS

  • Una instancia de Amazon Linux implementada

Restricciones

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

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

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

Versiones de producto

  • Amazon, RDS versiones 5.7.23 y posteriores, que son las versiones compatibles GTID

Arquitectura

Pila de tecnología de origen

  • Amazon RDS para mi SQL

Pila de tecnología de destino

  • Mi SQL en Amazon EC2

Arquitectura de destino

GTIDreplicación desde una SQL base de datos RDS for My a My SQL on Amazon EC2 en la misma subred privada.

Herramientas

AWSservicios

Otros servicios

  • Los identificadores de transacciones globales (GTIDs) son identificadores únicos que se generan para mis transacciones confirmadas. SQL

  • mysqldump es una utilidad de cliente para realizar copias de seguridad lógicas mediante la generación de SQL sentencias 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 My. SQL

Epics

TareaDescripciónHabilidades requeridas

Cree la SQL instancia RDS for My.

Para crear la SQL instancia RDS for My, sigue los pasos de la RDSdocumentación de Amazon y utiliza los valores de los parámetros que se describen en la siguiente tarea.

DBA, DevOps ingeniero

Habilite GTID los ajustes relacionados en el grupo de parámetros de la base de datos.

Habilite los siguientes parámetros en el grupo de parámetros Amazon RDS for My SQL DB.

Establezca enforce_gtid_consistency en on y gtid-mode en on.

 

DBA

Reinicia Amazon RDS for My SQL instance.

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

DBA

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

Para instalar MySQL, utilice los siguientes comandos.

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

 

DBA
TareaDescripciónHabilidades requeridas

Instale My SQL en Amazon Linux.

Para instalar MySQL, utilice los siguientes comandos.

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
DBA

Inicia sesión en My SQL 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 for MySQL. En el ejemplo siguiente, el nombre de la base de datos es replication.

create database replication;
DBA

Edite el archivo My SQL config 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
DBA
TareaDescripciónHabilidades requeridas

Exporta el volcado de datos de la SQL base de datos Amazon RDS for My.

Para exportar el volcado de Amazon RDS a MySQL, usa el siguiente comando.

mysqldump --single-transaction -h mydb.xxxxxxx.amazonaws.com -uadmin -p --databases replication > replication-db.sql
DBA

Restaure el archivo dump .sql en Mi SQL base de datos en Amazon. EC2

Para importar el volcado a Mi SQL base de datos en AmazonEC2, usa el siguiente comando.

mysql -D replication -uroot -p < replication-db.sql
DBA

Configure Mi SQL base de datos en Amazon EC2 como una réplica.

Para iniciar la replicación y comprobar su estado, inicie sesión en Mi SQL base de datos en 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
DBA

Recursos relacionados