Mengatur replikasi data antara Amazon RDS for MySQL dan MySQL di Amazon menggunakan GTID EC2 - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengatur replikasi data antara Amazon RDS for MySQL dan MySQL di Amazon menggunakan GTID EC2

Rajesh Madiwale, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara mengatur replikasi data di Amazon Web Services (AWS) Cloud antara Amazon Relational Database Service (Amazon RDS) untuk instans MySQL DB dan database MySQL pada instans Amazon Elastic Compute Cloud ( EC2Amazon) dengan menggunakan replikasi pengenal transaksi global (GTID) asli MySQL.

Dengan GTIDs, transaksi diidentifikasi dan dilacak ketika dilakukan pada server asal dan diterapkan oleh replika. Anda tidak perlu merujuk ke file log saat memulai replika baru selama failover.

Prasyarat dan batasan

Prasyarat

  •  Akun AWS yang aktif

  • Instans Amazon Linux dikerahkan

Pembatasan

  • Pengaturan ini membutuhkan tim internal untuk menjalankan kueri hanya-baca.

  • Versi MySQL sumber dan target harus sama.

  • Replikasi diatur di Wilayah AWS dan cloud pribadi virtual (VPC) yang sama.

Versi produk

Arsitektur

Tumpukan teknologi sumber

  • Amazon RDS for MySQL

Tumpukan teknologi target

  • MySQL di Amazon EC2

Arsitektur target

Replikasi GTID dari RDS untuk database MySQL ke MySQL di Amazon di subnet pribadi yang sama. EC2

Alat

Layanan AWS

Layanan lainnya

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Buat RDS untuk contoh MySQL.

Untuk membuat instance RDS untuk MySQL, ikuti langkah-langkah dalam dokumentasi Amazon RDS, menggunakan nilai parameter yang tercakup dalam tugas berikutnya.

DBA, DevOps insinyur

Aktifkan pengaturan terkait GTID di grup parameter DB.

Aktifkan parameter berikut di grup parameter Amazon RDS for MySQL DB.

Setel enforce_gtid_consistency keon, dan atur gtid-mode keon.

 

DBA

Reboot Amazon RDS for MySQL instance.

Diperlukan reboot agar perubahan parameter diterapkan.

DBA

Buat pengguna dan berikan izin replikasi.

Untuk menginstal MySQL, gunakan perintah berikut.

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

 

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Instal MySQL di Amazon Linux.

Untuk menginstal MySQL, gunakan perintah berikut.

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

Masuk ke MySQL pada instance dan EC2 buat database.

Nama database harus sama dengan nama database di Amazon RDS for MySQL. Dalam contoh berikut, nama database adalahreplication.

create database replication;
DBA

Edit file konfigurasi MySQL, dan restart database.

Edit my.conf file yang berada di /etc/ dengan menambahkan parameter berikut.

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

Kemudian restart mysqld layanan.

systemctl mysqld restart
DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Ekspor dump data dari database Amazon RDS for MySQL.

Untuk mengekspor dump dari Amazon RDS for MySQL, gunakan perintah berikut.

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

Kembalikan file.sql dump di database MySQL di Amazon. EC2

Untuk mengimpor dump ke database MySQL di EC2 Amazon, gunakan perintah berikut.

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

Konfigurasikan database MySQL di EC2 Amazon sebagai replika.

Untuk memulai replikasi dan memeriksa status replikasi, masuk ke database MySQL di EC2 Amazon, dan gunakan perintah berikut.

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

Sumber daya terkait