Mengkonfigurasi replikasi tertunda dengan My SQL - 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.

Mengkonfigurasi replikasi tertunda dengan My SQL

Anda dapat menggunakan replikasi tertunda sebagai strategi pemulihan bencana. Dengan replikasi tertunda, Anda menentukan jumlah waktu minimum, dalam detik, untuk menunda replikasi dari sumber ke replika baca. Jika terjadi bencana, seperti tabel yang terhapus secara tidak sengaja, Anda menyelesaikan langkah-langkah berikut untuk memulihkan dari bencana dengan cepat:

  • Hentikan replikasi ke replika baca sebelum perubahan yang menyebabkan bencana dikirim ke replika tersebut.

    Gunakan prosedur yang tersimpan di mysql.rds_stop_replication untuk menghentikan replikasi.

  • Mulai replikasi dan tentukan bahwa replikasi berhenti secara otomatis di lokasi file log.

    Anda menentukan lokasi tepat sebelum bencana menggunakan prosedur tersimpan .

  • Tingkatkan replika baca menjadi instans DB sumber baru dengan menggunakan petunjuk di Mempromosikan replika baca menjadi instans DB mandiri.

catatan
  • Pada RDS untuk My SQL 8.0, replikasi yang tertunda didukung untuk My SQL 8.0.28 dan yang lebih tinggi. Pada RDS untuk My SQL 5.7, replikasi yang tertunda didukung untuk My SQL 5.7.44 dan yang lebih tinggi.

  • Gunakan prosedur yang tersimpan untuk mengonfigurasi replikasi tertunda. Anda tidak dapat mengonfigurasi replikasi tertunda dengan AWS Management Console, AWS CLI, atau Amazon RDSAPI.

  • RDSUntuk versi SQL 5.7.44 Saya dan versi SQL 5.7 Saya yang lebih tinggi dan RDS untuk versi SQL 8.0.28 Saya dan versi 8.0 yang lebih tinggi, Anda dapat menggunakan replikasi berdasarkan pengidentifikasi transaksi global () dalam konfigurasi replikasi tertunda. GTIDs Jika Anda menggunakan replikasi GTID berbasis, gunakan prosedur yang disimpan alih-alih prosedur yang disimpan. Untuk informasi lebih lanjut tentang replikasi GTID berbasis, lihatMenggunakan replikasi GTID berbasis.

Mengonfigurasi replikasi tertunda selama pembuatan replika baca

Untuk mengonfigurasi replikasi tertunda untuk replika baca di masa mendatang yang dibuat dari instans DB, jalankan prosedur tersimpan mysql.rds_set_configuration dengan parameter target delay.

Untuk mengonfigurasi replikasi tertunda selama pembuatan replika baca
  1. Menggunakan SQL klien Saya, sambungkan ke instans My SQL DB untuk menjadi sumber replika baca sebagai pengguna utama.

  2. Jalankan prosedur tersimpan mysql.rds_set_configuration dengan parameter target delay.

    Misalnya, jalankan prosedur tersimpan berikut untuk menentukan bahwa replikasi ditunda setidaknya satu jam (3.600 detik) untuk replika baca yang dibuat dari instans DB saat ini.

    call mysql.rds_set_configuration('target delay', 3600);
    catatan

    Setelah menjalankan prosedur tersimpan ini, replika baca apa pun yang Anda buat menggunakan AWS CLI atau Amazon RDS API dikonfigurasi dengan replikasi yang tertunda oleh jumlah detik yang ditentukan.

Mengubah replikasi tertunda untuk replika baca yang sudah ada

Untuk mengubah replikasi tertunda untuk replika baca yang ada, jalankan prosedur tersimpan mysql.rds_set_source_delay.

Untuk mengubah replikasi tertunda untuk replika baca yang sudah ada
  1. Menggunakan SQL klien Saya, sambungkan ke replika baca sebagai pengguna utama.

  2. Gunakan prosedur yang tersimpan di mysql.rds_stop_replication untuk menghentikan replikasi.

  3. Jalankan prosedur tersimpan mysql.rds_set_source_delay.

    Misalnya, jalankan prosedur tersimpan berikut untuk menentukan bahwa replikasi ke replika baca ditunda setidaknya satu jam (3600 detik).

    call mysql.rds_set_source_delay(3600);
  4. Gunakan prosedur yang tersimpan di mysql.rds_start_replication untuk memulai replikasi.

Mengatur lokasi untuk menghentikan replikasi ke replika baca

Setelah menghentikan replikasi ke replika baca, Anda dapat memulai replikasi dan kemudian menghentikannya di lokasi file log biner yang ditentukan menggunakan prosedur tersimpan .

Untuk memulai replikasi ke replika baca dan menghentikan replikasi di lokasi tertentu
  1. Menggunakan SQL klien Saya, sambungkan ke sumber instans SQL DB Saya sebagai pengguna utama.

  2. Jalankan prosedur yang tersimpan di .

    Contoh berikut memulai replikasi dan mereplikasi perubahan hingga mencapai lokasi 120 di file biner mysql-bin-changelog.000777. Dalam skenario pemulihan bencana, asumsikan bahwa lokasi 120 tepat sebelum bencana.

    call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);

Replikasi berhenti secara otomatis ketika stop point tercapai. RDSPeristiwa berikut dihasilkan:Replication has been stopped since the replica reached the stop point specified by the rds_start_replication_until stored procedure.

Menaikkan replika baca

Setelah replikasi dihentikan, dalam skenario pemulihan bencana, Anda dapat mempromosikan replika baca menjadi instans DB sumber baru. Untuk informasi tentang mempromosikan replika baca, lihat Mempromosikan replika baca menjadi instans DB mandiri.