Mengelola klaster aktif-aktif - Layanan Basis Data Relasional Amazon

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

Mengelola klaster aktif-aktif

Prosedur tersimpan berikut menyiapkan dan mengelola klaster aktif-aktif RDS for MySQL. Untuk informasi selengkapnya, lihat Mengkonfigurasi cluster aktif-aktif untuk My RDS SQL.

Prosedur tersimpan ini hanya tersedia dengan RDS untuk instans MySQL DB yang menjalankan versi 8.0.35 dan versi minor yang lebih tinggi.

mysql.rds_group_replication_advance_gtid

Membuat GTID placeholder pada instans DB saat ini.

Sintaks

CALL mysql.rds_group_replication_advance_gtid( begin_id , end_id , server_uuid );

Parameter

begin_id

ID transaksi awal yang akan dibuat.

end_id

ID transaksi akhir yang akan dibuat.

begin_id

group_replication_group_name untuk transaksi yang akan dibuat. group_replication_group_name ditetapkan sebagai UUID dalam grup parameter DB yang terkait dengan instans DB.

Catatan penggunaan

Dalam klaster aktif-aktif, supaya instans DB dapat digabungkan ke dalam grup, semua transaksi GTID yang dieksekusi pada instans DB baru harus ada pada anggota lain dalam klaster. Dalam kasus tertentu, instans DB baru mungkin memiliki lebih banyak transaksi ketika transaksi dieksekusi sebelum menggabungkan instans ke grup. Dalam kasus ini, Anda tidak dapat menghapus transaksi yang sudah ada, tetapi Anda dapat menggunakan prosedur ini untuk membuat GTID placeholder yang sesuai pada instans DB lain dalam grup. Sebelum itu, pastikan transaksi tidak memengaruhi data yang direplikasi.

Saat Anda memanggil prosedur ini, transaksi GTID server_uuid:begin_id-end_id dibuat dengan konten kosong. Untuk menghindari masalah replikasi, jangan gunakan prosedur ini dalam kondisi lain.

penting

Jangan panggil prosedur ini ketika klaster aktif-aktif berfungsi normal. Jangan panggil prosedur ini kecuali Anda memahami kemungkinan konsekuensi dari transaksi yang Anda buat. Memanggil prosedur ini dapat menyebabkan inkonsistensi data.

Contoh

Contoh berikut membuat GTID placeholder pada instans DB saat ini:

CALL mysql.rds_group_replication_advance_gtid(5, 6, '11111111-2222-3333-4444-555555555555');

mysql.rds_group_replication_create_user

Membuat pengguna replikasi rdsgrprepladmin untuk replikasi grup pada instans DB.

Sintaks

CALL mysql.rds_group_replication_create_user( replication_user_password );

Parameter

replication_user_password

Kata sandi pengguna replikasi rdsgrprepladmin.

Catatan penggunaan

  • Kata sandi pengguna replikasi rdsgrprepladmin harus sama di semua instans DB dalam klaster aktif-aktif.

  • Nama pengguna rdsgrprepladmin dipesan untuk koneksi replikasi grup. Tidak ada pengguna lain, termasuk pengguna master, yang dapat memiliki nama pengguna ini.

Contoh

Contoh berikut membuat pengguna replikasi rdsgrprepladmin untuk replikasi grup pada instans DB:

CALL mysql.rds_group_replication_create_user('password');

mysql.rds_group_replication_set_recovery_channel

Menetapkan saluran group_replication_recovery untuk klaster aktif-aktif. Prosedur ini menggunakan pengguna rdsgrprepladmin terpesan untuk mengonfigurasi saluran.

Sintaks

CALL mysql.rds_group_replication_set_recovery_channel( replication_user_password);

Parameter

replication_user_password

Kata sandi pengguna replikasi rdsgrprepladmin.

Catatan penggunaan

Kata sandi pengguna replikasi rdsgrprepladmin harus sama di semua instans DB dalam klaster aktif-aktif. Panggilan ke mysql.rds_group_replication_create_user menentukan kata sandi.

Contoh

Contoh berikut menetapkan saluran group_replication_recovery untuk klaster aktif-aktif:

CALL mysql.rds_group_replication_set_recovery_channel('password');

mysql.rds_group_replication_start

Memulai replikasi grup pada instans DB saat ini.

Sintaks

CALL mysql.rds_group_replication_start( bootstrap );

Parameter

bootstrap

Nilai yang menentukan apakah akan menginisialisasi grup baru atau bergabung dengan grup yang sudah ada. 1 menginisialisasi grup baru dengan instans DB saat ini. 0 menggabungkan instans DB saat ini ke grup yang sudah ada dengan menghubungkan ke titik akhir yang ditentukan dalam parameter group_replication_group_seeds dalam grup parameter DB yang terkait dengan instans DB.

Contoh

Contoh berikut menginisialisasi grup baru dengan instans DB saat ini:

CALL mysql.rds_group_replication_start(1);

mysql.rds_group_replication_stop

Menghentikan replikasi grup pada instans DB saat ini.

Sintaks

CALL mysql.rds_group_replication_stop();

Catatan penggunaan

Saat Anda menghentikan replikasi pada instans DB, tindakan tersebut tidak memengaruhi instans DB lain dalam klaster aktif-aktif.