

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

# Mengaktifkan GTID-based replikasi untuk replika baca yang ada untuk RDS untuk MySQL
<a name="mysql-replication-gtid.configuring-existing-read-replicas"></a>

Untuk instans MySQL DB yang ada dengan replika baca yang tidak GTID-based menggunakan replikasi, Anda dapat GTID-based mengonfigurasi replikasi antara instans DB dan replika baca.

**Untuk mengaktifkan GTID-based replikasi replika baca yang ada**

1. Jika instans DB atau replika baca apa pun menggunakan RDS for MySQL versi 8.0 yang lebih rendah dari versi 8.0.26, tingkatkan instans DB atau replika baca ke 8.0.26 atau MySQL versi 8.0 yang lebih tinggi. Semua RDS untuk MySQL 8.4 versi dan 5.7 versi mendukung replikasi. GTID-based 

   Untuk informasi selengkapnya, lihat [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md).

1. (Opsional) Atur ulang parameter GTID dan uji perilaku instans DB dan replika baca:

   1. Pastikan grup parameter yang terkait dengan instans DB MySQL dan setiap replika baca memiliki `enforce_gtid_consistency` yang diatur ke `WARN`.

      Untuk informasi selengkapnya tentang cara mengatur parameter konfigurasi menggunakan grup parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).

   1. Jika Anda mengubah grup parameter dari instans DB, boot ulang instans DB tersebut. Jika Anda mengubah grup parameter untuk sebuah replika baca, boot ulang replika baca tersebut.

      Untuk informasi selengkapnya, lihat [Mem-boot ulang instans DB DB](USER_RebootInstance.md).

   1. Jalankan instans DB dan replika baca Anda dengan beban kerja normal Anda dan monitor file log.

      Jika Anda melihat peringatan tentang GTID-incompatible transaksi, sesuaikan aplikasi Anda sehingga hanya menggunakan GTID-compatible fitur. Pastikan instans DB tidak menghasilkan peringatan tentang GTID-incompatible transaksi sebelum melanjutkan ke langkah berikutnya.

1. Setel ulang parameter GTID untuk GTID-based replikasi yang memungkinkan transaksi anonim hingga replika baca memproses semuanya.

   1. Pastikan grup parameter yang terkait dengan instans DB dan setiap replika baca memiliki pengaturan parameter sebagai berikut:
      + `gtid_mode` – `ON_PERMISSIVE`
      + `enforce_gtid_consistency` – `ON`

   1. Jika Anda mengubah grup parameter dari instans DB, boot ulang instans DB tersebut. Jika Anda mengubah grup parameter untuk sebuah replika baca, boot ulang replika baca tersebut.

1. Tunggu hingga semua transaksi anonim Anda direplikasi. Untuk memeriksa apakah semua transaksi tersebut sudah direplikasi, lakukan hal berikut:

   1. Jalankan pernyataan berikut pada instans DB sumber Anda. 

      **MySQL 8.4**

      ```
      SHOW BINARY LOG STATUS;
      ```

      **MySQL 5.7 dan 8.0**

      ```
      SHOW MASTER STATUS;
      ```

      Perhatikan nilai di kolom `File` dan `Position`.

   1. Pada setiap replika baca, gunakan informasi file dan posisi dari instans sumber dalam langkah sebelumnya untuk menjalankan kueri berikut.

      ```
      SELECT MASTER_POS_WAIT('{{file}}', {{position}});
      ```

      Misalnya, jika nama file-nya adalah `mysql-bin-changelog.000031` dan posisinya adalah `107`, jalankan pernyataan berikut.

      ```
      SELECT MASTER_POS_WAIT('mysql-bin-changelog.000031', 107);
      ```

      Jika replika baca melewati posisi yang ditentukan, kueri akan segera ditampilkan. Jika tidak, fungsi tersebut akan menunggu. Lanjutkan ke langkah berikutnya jika kueri menampilkan semua replika baca.

1. Setel ulang parameter GTID hanya untuk GTID-based replikasi.

   1. Pastikan grup parameter yang terkait dengan instans DB dan setiap replika baca memiliki pengaturan parameter sebagai berikut:
      + `gtid_mode` – `ON`
      + `enforce_gtid_consistency` – `ON`

   1. Boot ulang instans DB dan setiap replika baca.

1. Pada setiap replika baca, jalankan prosedur berikut.

   **MySQL 8.4 dan versi utama yang lebih tinggi**

   ```
   CALL mysql.rds_set_source_auto_position(1);
   ```

   **MySQL 8.0 dan versi utama yang lebih rendah**

   ```
   CALL mysql.rds_set_master_auto_position(1);
   ```