Configura la replica dei dati tra Amazon RDS for My SQL e My SQL on Amazon utilizzando EC2 GTID - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura la replica dei dati tra Amazon RDS for My SQL e My SQL on Amazon utilizzando EC2 GTID

Creato da Rajesh Madiwale () AWS

Ambiente: PoC o pilota

Tecnologie: database

Carico di lavoro: open source

Riepilogo

Questo modello descrive come configurare la replica dei dati sul cloud Amazon Web Services (AWS) tra un'istanza Amazon Relational Database Service (RDSAmazon) for SQL My DB e un database SQL My su un'istanza Amazon Elastic Compute Cloud (EC2Amazon) utilizzando la replica SQL My global transaction GTID identifier () nativa.

ConGTIDs, le transazioni vengono identificate e tracciate quando vengono eseguite sul server di origine e applicate dalle repliche. Non è necessario fare riferimento ai file di registro quando si avvia una nuova replica durante il failover.

Prerequisiti e limitazioni

Prerequisiti

  •  Un account attivo AWS

  • Un'istanza Amazon Linux distribuita

Restrizioni

  • Questa configurazione richiede un team interno per eseguire le interrogazioni di sola lettura.

  • Le mie SQL versioni di origine e di destinazione devono essere le stesse.

  • La replica è configurata nella stessa AWS regione e nel cloud privato virtuale (VPC).

Versioni del prodotto

  • Amazon RDS versioni 5.7.23 e successive, quali sono le versioni che supportano GTID

Architettura

Stack tecnologico di origine

  • Amazon RDS per me SQL

Stack tecnologico Target

  • Il mio SQL su Amazon EC2

Architettura Target

GTIDreplica da un SQL database RDS for My a My SQL on Amazon EC2 nella stessa sottorete privata.

Strumenti

AWSservizi

Altri servizi

  • Gli identificatori di transazione globali (GTIDs) sono identificatori univoci generati per le transazioni My SQL confermate.

  • mysqldump è un'utilità client per l'esecuzione di backup logici mediante la produzione di SQL istruzioni che possono essere eseguite per riprodurre le definizioni degli oggetti del database di origine e i dati delle tabelle.

  • mysql è il client da riga di comando per My. SQL

Epiche

AttivitàDescrizioneCompetenze richieste

Crea l'SQListanza RDS for My.

Per creare l'SQListanza RDS for My, segui i passaggi nella RDSdocumentazione di Amazon, utilizzando i valori dei parametri descritti nell'attività successiva.

DBA, DevOps ingegnere

Abilita GTID le impostazioni relative nel gruppo di parametri DB.

Abilita i seguenti parametri nel gruppo di parametri Amazon RDS for My SQL DB.

enforce_gtid_consistencyImposta su on e imposta gtid-mode suon.

 

DBA

Riavvia l'SQListanza Amazon RDS for My.

È necessario un riavvio per rendere effettive le modifiche ai parametri.

DBA

Crea un utente e concedigli le autorizzazioni di replica.

Per installare MySQL, usa i seguenti comandi.

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

 

DBA
AttivitàDescrizioneCompetenze richieste

Installa My SQL su Amazon Linux.

Per installare MySQL, usa i seguenti comandi.

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

Accedi a My SQL sull'EC2istanza e crea il database.

Il nome del database deve essere lo stesso del nome del database in Amazon RDS for MySQL. Nell'esempio seguente, il nome del database èreplication.

create database replication;
DBA

Modificare il file My SQL config e riavviare il database.

Modifica il my.conf file che si trova in /etc/ aggiungendo i seguenti parametri.

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

Quindi riavvia il mysqld servizio.

systemctl mysqld restart
DBA
AttivitàDescrizioneCompetenze richieste

Esporta il dump dei dati dal SQL database Amazon RDS for My.

Per esportare il dump da Amazon RDS for MySQL, usa il seguente comando.

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

Ripristina il file di dump .sql nel SQL database My su Amazon. EC2

Per importare il dump nel SQL database My su AmazonEC2, usa il seguente comando.

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

Configura il SQL database My su Amazon EC2 come replica.

Per avviare la replica e verificare lo stato della replica, accedi al SQL database My su Amazon EC2 e usa il seguente 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

Risorse correlate