Configurez la réplication des données entre Amazon RDS for My SQL et My SQL on Amazon à EC2 l'aide de GTID - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurez la réplication des données entre Amazon RDS for My SQL et My SQL on Amazon à EC2 l'aide de GTID

Créée par Rajesh Madiwale () AWS

Environnement : PoC ou pilote

Technologies : Bases de données

Charge de travail : Open source

Récapitulatif

Ce modèle décrit comment configurer la réplication des données sur le cloud Amazon Web Services (AWS) entre une instance Amazon Relational Database Service (RDSAmazon) for SQL My DB et une instance SQL My database sur une instance Amazon Elastic Compute Cloud (EC2Amazon) à l'aide de la réplication SQL My native global transaction identifier GTID ().

AvecGTIDs, les transactions sont identifiées et suivies lorsqu'elles sont validées sur le serveur d'origine et appliquées par des répliques. Il n'est pas nécessaire de consulter les fichiers journaux lorsque vous démarrez une nouvelle réplique lors d'un basculement.

Conditions préalables et limitations

Prérequis

  •  Un AWS compte actif

  • Une instance Amazon Linux déployée

Restrictions

  • Cette configuration nécessite qu'une équipe interne exécute les requêtes en lecture seule.

  • Les SQL versions Mes sources et cibles doivent être identiques.

  • La réplication est configurée dans la même AWS région et dans le même cloud privé virtuel (VPC).

Versions du produit

  • Amazon RDS versions 5.7.23 et ultérieures, quelles sont les versions compatibles GTID

Architecture

Pile technologique source

  • Amazon RDS pour moi SQL

Pile technologique cible

  • Mon SQL sur Amazon EC2

Architecture cible

GTIDréplication d'une SQL base de données RDS for My vers My SQL on Amazon EC2 dans le même sous-réseau privé.

Outils

AWSservices

Autres services

  • Les identifiants de transaction globaux (GTIDs) sont des identifiants uniques générés pour les transactions Mes SQL transactions validées.

  • mysqldump est un utilitaire client permettant d'effectuer des sauvegardes logiques en produisant des SQL instructions qui peuvent être exécutées pour reproduire les définitions des objets de la base de données source et les données des tables.

  • mysql est le client en ligne de commande de My. SQL

Épopées

TâcheDescriptionCompétences requises

Créez l'SQLinstance RDS for My.

Pour créer l'SQLinstance RDS for My, suivez les étapes décrites dans la RDSdocumentation Amazon, en utilisant les valeurs des paramètres abordées dans la tâche suivante.

DBA, DevOps ingénieur

Activez GTID les paramètres associés dans le groupe de paramètres de base de données.

Activez les paramètres suivants dans le groupe de paramètres Amazon RDS for My SQL DB.

enforce_gtid_consistencyRéglez sur on et réglez gtid-mode suron.

 

DBA

Redémarrez l'SQLinstance Amazon RDS for My.

Un redémarrage est nécessaire pour que les modifications des paramètres prennent effet.

DBA

Créez un utilisateur et accordez-lui des autorisations de réplication.

Pour installer MySQL, utilisez les commandes suivantes.

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

 

DBA
TâcheDescriptionCompétences requises

Installez My SQL sur Amazon Linux.

Pour installer MySQL, utilisez les commandes suivantes.

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

Connectez-vous à My SQL sur l'EC2instance et créez la base de données.

Le nom de la base de données doit être identique à celui de la base de données dans Amazon RDS for MySQL. Dans l'exemple suivant, le nom de la base de données estreplication.

create database replication;
DBA

Modifiez le fichier My SQL config et redémarrez la base de données.

Modifiez le my.conf fichier qui s'y trouve en /etc/ ajoutant les paramètres suivants.

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

Redémarrez ensuite le mysqld service.

systemctl mysqld restart
DBA
TâcheDescriptionCompétences requises

Exportez le vidage de données depuis la base de SQL données Amazon RDS for My.

Pour exporter le dump depuis Amazon RDS for MySQL, utilisez la commande suivante.

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

Restaurez le fichier de vidage .sql dans Ma SQL base de données sur AmazonEC2.

Pour importer le dump dans Ma SQL base de données sur AmazonEC2, utilisez la commande suivante.

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

Configurez la SQL base de données My Database sur Amazon EC2 en tant que réplique.

Pour démarrer la réplication et vérifier l'état de la réplication, connectez-vous à My SQL database sur Amazon EC2 et utilisez la commande suivante.

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

Ressources connexes