

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

# Mengelola replikasi multi-sumber
<a name="mysql-stored-proc-multi-source-replication"></a>

Prosedur tersimpan berikut menyiapkan dan mengelola saluran replikasi pada replika SQL multi-sumber RDS untuk Saya. Untuk informasi selengkapnya, lihat [Mengkonfigurasi multi-source-replication untuk Amazon RDS for MySQL](mysql-multi-source-replication.md).

Prosedur tersimpan ini hanya tersedia RDS untuk instans My SQL DB yang menjalankan versi mesin berikut:
+ Semua versi 8.4
+ 8.0.35 dan versi minor yang lebih tinggi
+ 5.7.44 dan versi minor yang lebih tinggi

Saat menggunakan prosedur tersimpan untuk mengelola replikasi dengan pengguna replikasi yang dikonfigurasi`caching_sha2_passwword`, Anda harus mengonfigurasi TLS dengan menentukan. `SOURCE_SSL=1` `caching_sha2_password`adalah plugin otentikasi default RDS untuk My SQL 8.4.

**catatan**  
Meskipun dokumentasi ini mengacu pada instans DB sumber seperti RDS untuk instans SQL DB Saya, prosedur ini juga berfungsi untuk SQL instans Saya yang berjalan di luar Amazon. RDS

**Topics**
+ [mysql.rds\$1next\$1source\$1log\$1for\$1channel](#mysql_rds_next_source_log_for_channel)
+ [mysql.rds\$1reset\$1external\$1source\$1for\$1channel](#mysql_rds_reset_external_source_for_channel)
+ [mysql.rds\$1set\$1external\$1source\$1for\$1channel](#mysql_rds_set_external_source_for_channel)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position\$1for\$1channel](#mysql_rds_set_external_source_with_auto_position_for_channel)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1delay\$1for\$1channel](#mysql_rds_set_external_source_with_delay_for_channel)
+ [mysql.rds\$1set\$1source\$1auto\$1position\$1for\$1channel](#mysql_rds_set_source_auto_position_for_channel)
+ [mysql.rds\$1set\$1source\$1delay\$1for\$1channel](#mysql_rds_set_source_delay_for_channel)
+ [mysql.rds\$1skip\$1repl\$1error\$1for\$1channel](#mysql_rds_skip_repl_error_for_channel)
+ [mysql.rds\$1start\$1replication\$1for\$1channel](#mysql_rds_start_replication_for_channel)
+ [mysql.rds\$1start\$1replication\$1until\$1for\$1channel](#mysql_rds_start_replication_until_for_channel)
+ [mysql.rds\$1start\$1replication\$1until\$1gtid\$1for\$1channel](#mysql_rds_start_replication_until_gtid_for_channel)
+ [mysql.rds\$1stop\$1replication\$1for\$1channel](#mysql_rds_stop_replication_for_channel)

## mysql.rds\$1next\$1source\$1log\$1for\$1channel
<a name="mysql_rds_next_source_log_for_channel"></a>

Mengubah posisi log instans DB sumber ke awal log biner berikutnya pada instans DB sumber untuk saluran. Gunakan prosedur ini hanya jika Anda menerima replikasi I/O kesalahan 1236 pada replika multi-sumber.

### Sintaks
<a name="mysql_rds_next_source_log_for_channel-syntax"></a>

 

```
CALL mysql.rds_next_source_log_for_channel(
curr_master_log,
channel_name           
);
```

### Parameter
<a name="mysql_rds_next_source_log_for_channel-parameters"></a>

 *curr\$1master\$1log*  
Indeks file log sumber saat ini. Misalnya, jika file saat ini bernama `mysql-bin-changelog.012345`, maka indeksnya adalah 12345. Untuk menentukan nama file log sumber saat ini, jalankan perintah `SHOW REPLICA STATUS FOR CHANNEL 'channel_name'` dan lihat kolom `Source_Log_File`.

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_next_source_log_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_next_source_log_for_channel`. Jika ada kesalahan IO\$1thread, misalnya, Anda dapat menggunakan prosedur ini untuk melewati semua peristiwa dalam file log biner saat ini dan melanjutkan replikasi dari file log biner berikutnya untuk saluran yang ditentukan dalam. `channel_name`

### Contoh
<a name="mysql_rds_group_replication_advance_gtid-examples"></a>

Asumsikan replikasi gagal pada saluran pada replika multi-sumber. Berjalan `SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G` pada replika multi-sumber mengembalikan hasil berikut:

```
mysql> SHOW REPLICA STATUS FOR CHANNEL 'channel_1'\G
*************************** 1. row ***************************
             Replica_IO_State: Waiting for source to send event
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: ReplicationUser
                  Source_Port: 3306
                Connect_Retry: 60
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: replica-relay-bin.000003
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:.
              .
              .
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.'
               Last_SQL_Errno: 0
               Last_SQL_Error:
               .
               .
                 Channel_name: channel_1
              .
              .
 -- Some fields are omitted in this example output
```

Kolom `Last_IO_Errno` menunjukkan bahwa instans menerima kesalahan I/O 1236. Kolom `Source_Log_File` menunjukkan bahwa nama file adalah `mysql-bin-changelog.012345`, yang berarti indeks file log adalah `12345`. Untuk mengatasi kesalahan, Anda dapat menelepon `mysql.rds_next_source_log_for_channel` dengan parameter berikut:

```
CALL mysql.rds_next_source_log_for_channel(12345,'channel_1');
```

## mysql.rds\$1reset\$1external\$1source\$1for\$1channel
<a name="mysql_rds_reset_external_source_for_channel"></a>

Menghentikan proses replikasi pada saluran yang ditentukan, dan menghapus saluran dan konfigurasi terkait dari replika multi-sumber.

**penting**  
Untuk menjalankan prosedur ini, `autocommit` harus diaktifkan. Untuk mengaktifkannya, atur parameter `autocommit` ke `1`. Lihat informasi tentang cara mengubah parameter di [](USER_WorkingWithParamGroups.Modifying.md).

### Sintaksis
<a name="mysql_rds_reset_external_source_for_channel-syntax"></a>



```
CALL mysql.rds_reset_external_source_for_channel (channel_name);
```

### Parameter
<a name="mysql_rds_reset_external_source_for_channel-parameters"></a>

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_reset_external_source_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_reset_external_source_for_channel`. Prosedur ini menghapus semua log relai milik saluran yang dihapus.

## mysql.rds\$1set\$1external\$1source\$1for\$1channel
<a name="mysql_rds_set_external_source_for_channel"></a>

Mengkonfigurasi saluran replikasi pada instans RDS for My SQL DB untuk mereplikasi data dari yang lain RDS untuk instance My SQL DB.

**penting**  
Untuk menjalankan prosedur ini, `autocommit` harus diaktifkan. Untuk mengaktifkannya, atur parameter `autocommit` ke `1`. Lihat informasi tentang cara mengubah parameter di [](USER_WorkingWithParamGroups.Modifying.md).

**catatan**  
Anda dapat menggunakan prosedur [mysql.rds\$1set\$1external\$1source\$1with\$1delay\$1for\$1channel](#mysql_rds_set_external_source_with_delay_for_channel) tersimpan sebagai gantinya untuk mengonfigurasi saluran ini dengan replikasi tertunda.

### Sintaks
<a name="mysql_rds_set_external_source_for_channel-syntax"></a>



```
CALL mysql.rds_set_external_source_for_channel (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , mysql_binary_log_file_name
  , mysql_binary_log_file_location
  , ssl_encryption
  , channel_name
);
```

### Parameter
<a name="mysql_rds_set_external_source_for_channel-parameters"></a>

 *host\$1name*   
Nama host atau alamat IP RDS untuk instans DB SQL sumber saya.

 *host\$1port*   
Port yang digunakan oleh instans RDS for My SQL source DB. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH

 *replication\$1user\$1name*   
ID pengguna dengan `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instance RDS for My SQL source DB. Kami menyarankan Anda memberikan akun yang hanya digunakan untuk replikasi dengan instans DB sumber.

 *replication\$1user\$1password*   
Kata sandi ID pengguna yang ditentukan dalam `replication_user_name`.

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada instance DB sumber yang berisi informasi replikasi.

 *mysql\$1binary\$1log\$1file\$1location*   
Lokasi di log biner `mysql_binary_log_file_name` tempat replikasi mulai membaca informasi replikasi.  
Anda dapat menentukan nama dan lokasi file binlog dengan menjalankan `SHOW BINARY LOG STATUS` instans DB sumber.   
Versi sebelumnya dari My SQL digunakan `SHOW MASTER STATUS` sebagai pengganti`SHOW BINARY LOG STATUS`. Jika Anda menggunakan SQL versi Saya sebelum 8.4, maka gunakan`SHOW MASTER STATUS`.

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Secure Socket Layer (SSL) digunakan pada koneksi replikasi. 1 menentukan untuk menggunakan SSL enkripsi, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.  
Opsi `SOURCE_SSL_VERIFY_SERVER_CERT` tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.

 *channel\$1name*   
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_set_external_source_for_channel-usage-notes"></a>

 Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_source_for_channel`. Prosedur ini harus dijalankan pada target RDS untuk instans My SQL DB tempat Anda membuat saluran replikasi.

 Sebelum Anda menjalankan`mysql.rds_set_external_source_for_channel`, konfigurasikan pengguna replikasi pada instans DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instans DB sumber, Anda harus menentukan `replication_user_name` dan `replication_user_password` nilai pengguna replikasi yang memiliki `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instans DB sumber.

**Untuk mengkonfigurasi pengguna replikasi pada instans DB sumber**

1. Menggunakan SQL klien Saya pilihan Anda, sambungkan ke instans DB sumber dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
**penting**  
Sebagai praktik keamanan terbaik, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.

   ```
   CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';
   ```

1. Pada instans DB sumber, berikan `REPLICATION CLIENT` dan `REPLICATION SLAVE` hak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna ‘repl\$1user’ domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
   ```

Untuk menggunakan replikasi terenkripsi, konfigurasikan instans DB sumber untuk menggunakan koneksi. SSL

Setelah menelepon `mysql.rds_set_external_source_for_channel` untuk mengonfigurasi saluran replikasi ini, Anda dapat memanggil [mysql.rds\$1start\$1replication\$1for\$1channel](#mysql_rds_start_replication_for_channel) replika untuk memulai proses replikasi di saluran. Anda dapat menelepon [mysql.rds\$1reset\$1external\$1source\$1for\$1channel](#mysql_rds_reset_external_source_for_channel) untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.

Saat Anda menelepon`mysql.rds_set_external_source_for_channel`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set channel source` dalam `mysql.rds_history` tabel tanpa detail khusus saluran, dan dalam `mysql.rds_replication_status` tabel, dengan nama saluran. Informasi ini dicatat hanya untuk tujuan penggunaan dan pemantauan internal. Untuk mencatat panggilan prosedur lengkap untuk tujuan audit, pertimbangkan untuk mengaktifkan log audit atau log umum, berdasarkan persyaratan spesifik aplikasi Anda.

### Contoh
<a name="mysql_rds_set_external_source_for_channel-examples"></a>

Ketika dijalankan pada instance RDS for My SQL DB, contoh berikut mengkonfigurasi saluran replikasi bernama `channel_1` pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host `sourcedb.example.com` dan port. `3306`

```
call mysql.rds_set_external_source_for_channel(
  'sourcedb.example.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.0777',
  120,
  0,
  'channel_1');
```

## mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position\$1for\$1channel
<a name="mysql_rds_set_external_source_with_auto_position_for_channel"></a>

Mengkonfigurasi saluran replikasi pada instans RDS for My SQL DB dengan penundaan replikasi opsional. Replikasi didasarkan pada pengidentifikasi transaksi global ()GTIDs.

**penting**  
Untuk menjalankan prosedur ini, `autocommit` harus diaktifkan. Untuk mengaktifkannya, atur parameter `autocommit` ke `1`. Lihat informasi tentang cara mengubah parameter di [](USER_WorkingWithParamGroups.Modifying.md).

### Sintaksis
<a name="mysql_rds_set_external_master_with_auto_position_for_channel-syntax"></a>

 

```
CALL mysql.rds_set_external_source_with_auto_position_for_channel (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , ssl_encryption
  , delay
  , channel_name
);
```

### Parameter
<a name="mysql_rds_set_external_master_with_auto_position_for_channel-parameters"></a>

 *host\$1name*   
Nama host atau alamat IP RDS untuk instans DB SQL sumber saya.

 *host\$1port*   
Port yang digunakan oleh instans RDS for My SQL source DB. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH

 *replication\$1user\$1name*   
ID pengguna dengan `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instance RDS for My SQL source DB. Kami menyarankan Anda memberikan akun yang hanya digunakan untuk replikasi dengan instans DB sumber.

 *replication\$1user\$1password*   
Kata sandi ID pengguna yang ditentukan dalam `replication_user_name`.

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Secure Socket Layer (SSL) digunakan pada koneksi replikasi. 1 menentukan untuk menggunakan SSL enkripsi, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.  
Opsi `SOURCE_SSL_VERIFY_SERVER_CERT` tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.

 *delay*   
Jumlah minimum detik untuk menunda replikasi dari instans DB sumber.  
Batas untuk parameter ini adalah satu hari (86.400 detik).

 *channel\$1name*   
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_set_external_master_with_auto_position_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_source_with_auto_position_for_channel`. Prosedur ini harus dijalankan pada target RDS untuk instans My SQL DB tempat Anda membuat saluran replikasi.

Sebelum Anda menjalankan`rds_set_external_source_with_auto_position_for_channel`, konfigurasikan pengguna replikasi pada instans DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instans DB sumber, Anda harus menentukan `replication_user_name` dan `replication_user_password` nilai pengguna replikasi yang memiliki `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instans DB sumber.

**Untuk mengkonfigurasi pengguna replikasi pada instans DB sumber**

1. Menggunakan SQL klien Saya pilihan Anda, sambungkan ke instans DB sumber dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
**penting**  
Sebagai praktik keamanan terbaik, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.

   ```
   CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';
   ```

1. Pada instans DB sumber, berikan `REPLICATION CLIENT` dan `REPLICATION SLAVE` hak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna ‘repl\$1user’ domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
   ```

Untuk menggunakan replikasi terenkripsi, konfigurasikan instans DB sumber untuk menggunakan koneksi. SSL

Sebelum Anda menelepon`mysql.rds_set_external_source_with_auto_position_for_channel`, pastikan [mysql.rds\$1set\$1external\$1source\$1gtid\$1purged](mysql-stored-proc-replicating.md#mysql_rds_set_external_source_gtid_purged) untuk memanggil untuk mengatur variabel `gtid_purged` sistem dengan GTID rentang tertentu dari sumber eksternal.

Setelah menelepon `mysql.rds_set_external_source_with_auto_position_for_channel` untuk mengonfigurasi instans Amazon RDS DB sebagai replika baca pada saluran tertentu, Anda dapat memanggil [mysql.rds\$1start\$1replication\$1for\$1channel](#mysql_rds_start_replication_for_channel) replika baca untuk memulai proses replikasi pada saluran tersebut.

Setelah menelepon `mysql.rds_set_external_source_with_auto_position_for_channel` untuk mengonfigurasi saluran replikasi ini, Anda dapat memanggil [mysql.rds\$1start\$1replication\$1for\$1channel](#mysql_rds_start_replication_for_channel) replika untuk memulai proses replikasi di saluran. Anda dapat menelepon [mysql.rds\$1reset\$1external\$1source\$1for\$1channel](#mysql_rds_reset_external_source_for_channel) untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.

### Contoh
<a name="mysql_rds_set_external_master_with_auto_position_for_channel-examples"></a>

Ketika dijalankan pada instance RDS for My SQL DB, contoh berikut mengkonfigurasi saluran replikasi bernama `channel_1` pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host `sourcedb.example.com` dan port `3306` Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik). Ini berarti bahwa perubahan dari sumber RDS untuk instans SQL DB Saya tidak diterapkan pada replika multi-sumber setidaknya selama satu jam.

```
call mysql.rds_set_external_source_with_auto_position_for_channel(
  'sourcedb.example.com',
  3306,
  'repl_user',
  'password',
  1,
  3600,
  'channel_1');
```

## mysql.rds\$1set\$1external\$1source\$1with\$1delay\$1for\$1channel
<a name="mysql_rds_set_external_source_with_delay_for_channel"></a>

Mengkonfigurasi saluran replikasi pada instans RDS for My SQL DB dengan penundaan replikasi tertentu.

**penting**  
Untuk menjalankan prosedur ini, `autocommit` harus diaktifkan. Untuk mengaktifkannya, atur parameter `autocommit` ke `1`. Lihat informasi tentang cara mengubah parameter di [](USER_WorkingWithParamGroups.Modifying.md).

### Sintaksis
<a name="mysql_rds_set_external_source_with_delay_for_channel-syntax"></a>

 

```
CALL mysql.rds_set_external_source_with_delay_for_channel (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , mysql_binary_log_file_name
  , mysql_binary_log_file_location
  , ssl_encryption
  , delay
  , channel_name
);
```

### Parameter
<a name="mysql_rds_set_external_source_with_delay_for_channel-parameters"></a>

 *host\$1name*   
Nama host atau alamat IP RDS untuk instans DB SQL sumber saya.

 *host\$1port*   
Port yang digunakan oleh instans RDS for My SQL source DB. Jika konfigurasi jaringan Anda menyertakan replikasi port Secure Shell (SSH) yang mengonversi nomor port, tentukan nomor port yang diekspos oleh. SSH

 *replication\$1user\$1name*   
ID pengguna dengan `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instance RDS for My SQL source DB. Kami menyarankan Anda memberikan akun yang hanya digunakan untuk replikasi dengan instans DB sumber.

 *replication\$1user\$1password*   
Kata sandi ID pengguna yang ditentukan dalam `replication_user_name`.

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada instance DB sumber berisi informasi replikasi.

 *mysql\$1binary\$1log\$1file\$1location*   
Lokasi di log biner `mysql_binary_log_file_name` tempat replikasi akan mulai membaca informasi replikasi.  
Anda dapat menentukan nama dan lokasi file binlog dengan menjalankan `SHOW BINARY LOG STATUS` pada instans basis data sumber.  
Versi sebelumnya dari My SQL digunakan `SHOW MASTER STATUS` sebagai pengganti`SHOW BINARY LOG STATUS`. Jika Anda menggunakan SQL versi Saya sebelum 8.4, maka gunakan`SHOW MASTER STATUS`.

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Secure Socket Layer (SSL) digunakan pada koneksi replikasi. 1 menentukan untuk menggunakan SSL enkripsi, 0 menentukan untuk tidak menggunakan enkripsi. Default-nya adalah 0.  
Opsi `SOURCE_SSL_VERIFY_SERVER_CERT` tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.

 *delay*   
Jumlah minimum detik untuk menunda replikasi dari instans DB sumber.  
Batas untuk parameter ini adalah satu hari (86.400 detik).

 *channel\$1name*   
Nama saluran replikasi. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_set_external_source_with_delay_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_source_with_delay_for_channel`. Prosedur ini harus dijalankan pada target RDS untuk instans My SQL DB tempat Anda membuat saluran replikasi.

Sebelum Anda menjalankan`mysql.rds_set_external_source_with_delay_for_channel`, konfigurasikan pengguna replikasi pada instans DB sumber dengan hak istimewa yang diperlukan untuk replika multi-sumber. Untuk menghubungkan replika multi-sumber ke instans DB sumber, Anda harus menentukan `replication_user_name` dan `replication_user_password` nilai pengguna replikasi yang memiliki `REPLICATION CLIENT` dan `REPLICATION SLAVE` izin pada instans DB sumber.

**Untuk mengkonfigurasi pengguna replikasi pada instans DB sumber**

1. Menggunakan SQL klien Saya pilihan Anda, sambungkan ke instans DB sumber dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.
**penting**  
Sebagai praktik keamanan terbaik, tentukan kata sandi selain nilai placeholder yang ditunjukkan dalam contoh berikut.

   ```
   CREATE USER 'repl_user'@'example.com' IDENTIFIED BY 'password';
   ```

1. Pada instans DB sumber, berikan `REPLICATION CLIENT` dan `REPLICATION SLAVE` hak istimewa kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna ‘repl\$1user’ domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'example.com';
   ```

Untuk menggunakan replikasi terenkripsi, konfigurasikan instans DB sumber untuk menggunakan koneksi. SSL

Setelah menelepon `mysql.rds_set_external_source_with_delay_for_channel` untuk mengonfigurasi saluran replikasi ini, Anda dapat memanggil [mysql.rds\$1start\$1replication\$1for\$1channel](#mysql_rds_start_replication_for_channel) replika untuk memulai proses replikasi di saluran. Anda dapat menelepon [mysql.rds\$1reset\$1external\$1source\$1for\$1channel](#mysql_rds_reset_external_source_for_channel) untuk menghentikan replikasi pada saluran dan menghapus konfigurasi saluran dari replika.

Saat Anda menelepon`mysql.rds_set_external_source_with_delay_for_channel`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set channel source` dalam `mysql.rds_history` tabel tanpa detail khusus saluran, dan dalam `mysql.rds_replication_status` tabel, dengan nama saluran. Informasi ini dicatat hanya untuk tujuan penggunaan dan pemantauan internal. Untuk mencatat panggilan prosedur lengkap untuk tujuan audit, pertimbangkan untuk mengaktifkan log audit atau log umum, berdasarkan persyaratan spesifik aplikasi Anda.

### Contoh
<a name="mysql_rds_set_external_source_with_delay_for_channel-examples"></a>

Ketika dijalankan pada instance RDS for My SQL DB, contoh berikut mengkonfigurasi saluran replikasi bernama `channel_1` pada instance DB ini untuk mereplikasi data dari sumber yang ditentukan oleh host `sourcedb.example.com` dan port `3306` Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik). Ini berarti bahwa perubahan dari sumber RDS untuk instans SQL DB Saya tidak diterapkan pada replika multi-sumber setidaknya selama satu jam.

```
call mysql.rds_set_external_source_with_delay_for_channel(
  'sourcedb.example.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.000777',
  120,
  1,
  3600,
  'channel_1');
```

## mysql.rds\$1set\$1source\$1auto\$1position\$1for\$1channel
<a name="mysql_rds_set_source_auto_position_for_channel"></a>

Menetapkan mode replikasi untuk saluran yang ditentukan untuk didasarkan pada posisi file log biner atau pada pengidentifikasi transaksi global ()GTIDs.

### Sintaks
<a name="mysql_rds_set_source_auto_position_for_channel-syntax"></a>

 

```
CALL mysql.rds_set_source_auto_position_for_channel (
auto_position_mode
 , channel_name
);
```

### Parameter
<a name="mysql_rds_set_source_auto_position_for_channel-parameters"></a>

 *auto\$1position\$1mode*   
Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau replikasi GTID berbasis:  
+ `0` – Gunakan metode replikasi berdasarkan posisi file log biner. Default-nya adalah `0`.
+ `1`— Gunakan metode replikasi GTID berbasis.

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_set_source_auto_position_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_set_source_auto_position_for_channel`. Prosedur ini memulai ulang replikasi pada saluran yang ditentukan untuk menerapkan mode posisi auto yang ditentukan.

### Contoh
<a name="mysql_rds_set_source_auto_position_for_channel-examples"></a>

Contoh berikut menetapkan mode posisi auto untuk channel\$11 untuk menggunakan metode replikasi GTID berbasis.

```
call mysql.rds_set_source_auto_position_for_channel(1,'channel_1');
```

## mysql.rds\$1set\$1source\$1delay\$1for\$1channel
<a name="mysql_rds_set_source_delay_for_channel"></a>

Menetapkan jumlah minimum detik untuk menunda replikasi dari instance database sumber ke replika multi-sumber untuk saluran yang ditentukan.

### Sintaks
<a name="mysql_rds_set_source_delay_for_channel-syntax"></a>

```
CALL mysql.rds_set_source_delay_for_channel(delay, channel_name);
```

### Parameter
<a name="mysql_rds_set_source_delay_for_channel-parameters"></a>

 *delay*   
Jumlah minimum detik untuk menunda replikasi dari instans DB sumber.  
Batas untuk parameter ini adalah satu hari (86.400 detik).

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_set_source_delay_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_set_source_delay_for_channel`. Untuk menggunakan prosedur ini, panggilan pertama `mysql.rds_stop_replication_for_channel` untuk menghentikan replikasi. Kemudian, panggil prosedur ini untuk mengatur nilai penundaan replikasi. Saat penundaan diatur, panggil `mysql.rds_start_replication_for_channel` untuk memulai ulang replikasi.

### Contoh
<a name="mysql_rds_set_source_delay_for_channel-examples"></a>

Contoh berikut menetapkan penundaan replikasi dari instance database sumber pada `channel_1` replika multi-sumber setidaknya selama satu jam (3.600 detik).

```
CALL mysql.rds_set_source_delay_for_channel(3600,'channel_1');
```

## mysql.rds\$1skip\$1repl\$1error\$1for\$1channel
<a name="mysql_rds_skip_repl_error_for_channel"></a>

Melewatkan peristiwa log biner dan menghapus kesalahan replikasi pada replika multi-sumber SQL DB Saya untuk saluran yang ditentukan.

### Sintaks
<a name="mysql_rds_skip_repl_error_for_channel-syntax"></a>

 

```
CALL mysql.rds_skip_repl_error_for_channel(channel_name);
```

### Parameter
<a name="mysql_rds_skip_repl_error_for_channel-parameters"></a>

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_skip_repl_error_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_skip_repl_error_for_channel` pada replika baca. Anda dapat menggunakan prosedur ini dengan cara yang sama `mysql.rds_skip_repl_error` digunakan untuk melewati kesalahan pada replika baca. Untuk informasi selengkapnya, lihat [Memanggil prosedur mysql.rds\$1skip\$1repl\$1error](Appendix.MySQL.CommonDBATasks.SkipError.md#Appendix.MySQL.CommonDBATasks.SkipError.procedure).

**catatan**  
Untuk melewati kesalahan dalam replikasi GTID berbasis, kami sarankan Anda menggunakan prosedur [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid) sebagai gantinya.

Untuk menentukan apakah ada kesalahan, jalankan SQL `SHOW REPLICA STATUS FOR CHANNEL 'channel_name'\G` perintah Saya. Jika kesalahan replikasi tidak parah, Anda dapat menjalankan `mysql.rds_skip_repl_error_for_channel` untuk melewati kesalahan tersebut. Jika ada beberapa kesalahan, `mysql.rds_skip_repl_error_for_channel` menghapus kesalahan pertama pada saluran replikasi yang ditentukan, kemudian memperingatkan bahwa orang lain hadir. Anda kemudian dapat menggunakan `SHOW REPLICA STATUS FOR CHANNEL 'channel_name'\G` untuk menentukan tindakan yang benar untuk kesalahan berikutnya. Untuk informasi tentang nilai yang dikembalikan, lihat [SHOWREPLICASTATUSpernyataan](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) dalam SQL dokumentasi Saya.

## mysql.rds\$1start\$1replication\$1for\$1channel
<a name="mysql_rds_start_replication_for_channel"></a>

Memulai replikasi dari instans RDS for My SQL DB ke replika multi-sumber pada saluran yang ditentukan.

**catatan**  
Anda dapat menggunakan prosedur [mysql.rds\$1start\$1replication\$1until\$1for\$1channel](#mysql_rds_start_replication_until_for_channel) atau [mysql.rds\$1start\$1replication\$1until\$1gtid\$1for\$1channel](#mysql_rds_start_replication_until_gtid_for_channel) tersimpan untuk memulai replikasi dari instance RDS for My SQL DB dan menghentikan replikasi di lokasi file log biner yang ditentukan.

### Sintaks
<a name="mysql_rds_start_replication_for_channel-syntax"></a>

 

```
CALL mysql.rds_start_replication_for_channel(channel_name);
```

### Parameter
<a name="mysql_rds_start_replication_for_channel-parameters"></a>

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_start_replication_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication_for_channel`. Setelah Anda mengimpor data dari sumber RDS untuk instans My SQL DB, jalankan perintah ini pada replika multi-sumber untuk memulai replikasi pada saluran yang ditentukan.

### Contoh
<a name="mysql_rds_start_replication_for_channel-examples"></a>

Contoh berikut memulai replikasi pada `channel_1` replika multi-sumber.

```
CALL mysql.rds_start_replication_for_channel('channel_1');
```

## mysql.rds\$1start\$1replication\$1until\$1for\$1channel
<a name="mysql_rds_start_replication_until_for_channel"></a>

Memulai replikasi dari instance RDS for My SQL DB pada saluran yang ditentukan dan menghentikan replikasi di lokasi file log biner yang ditentukan.

### Sintaks
<a name="mysql_rds_start_replication_until_for_channel-syntax"></a>

 

```
CALL mysql.rds_start_replication_until_for_channel (
replication_log_file
  , replication_stop_point
  , channel_name
);
```

### Parameter
<a name="mysql_rds_start_replication_until_for_channel-parameters"></a>

 *replication\$1log\$1file*   
Nama log biner pada instance DB sumber berisi informasi replikasi.

 *replication\$1stop\$1point *   
Lokasi di log biner `replication_log_file` tempat replikasi akan berhenti.

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_start_replication_until_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication_until_for_channel`. Dengan prosedur ini, replikasi dimulai dan kemudian berhenti ketika posisi file binlog yang ditentukan tercapai. Prosedur ini menghentikan `SQL_THREAD` dan`IO_THREAD`.

Nama file yang ditentukan untuk `replication_log_file` parameter harus cocok dengan nama file binlog instance DB sumber.

Ketika `replication_stop_point` parameter menentukan lokasi berhenti yang di masa lalu, replikasi segera dihentikan.

### Contoh
<a name="mysql_rds_start_replication_until_for_channel-examples"></a>

Contoh berikut memulai replikasi`channel_1`, dan mereplikasi perubahan hingga mencapai lokasi `120` dalam file log `mysql-bin-changelog.000777` biner.

```
call mysql.rds_start_replication_until_for_channel(
  'mysql-bin-changelog.000777',
  120,
  'channel_1'
  );
```

## mysql.rds\$1start\$1replication\$1until\$1gtid\$1for\$1channel
<a name="mysql_rds_start_replication_until_gtid_for_channel"></a>

Memulai replikasi pada saluran tertentu dari instans RDS for My SQL DB dan menghentikan replikasi pada identifier transaksi global yang ditentukan (). GTID

### Sintaks
<a name="mysql_rds_start_replication_until_gtid_for_channel-syntax"></a>

 

```
CALL mysql.rds_start_replication_until_gtid_for_channel(gtid,channel_name);
```

### Parameter
<a name="mysql_rds_start_replication_until_gtid_for_channel-parameters"></a>

 *gtid*   
GTIDSetelah itu untuk menghentikan replikasi.

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_start_replication_until_gtid_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication_until_gtid_for_channel`. Prosedur memulai replikasi pada saluran yang ditentukan dan menerapkan semua perubahan hingga GTID nilai yang ditentukan. Kemudian, ia menghentikan replikasi pada saluran.

Saat parameter `gtid` menentukan transaksi yang telah dijalankan oleh replika, replikasi akan segera dihentikan.

Sebelum Anda menjalankan prosedur ini, Anda harus menonaktifkan replikasi multi-threaded dengan menetapkan nilai dari atau ke. `replica_parallel_workers` `slave_parallel_workers` `0`

### Contoh
<a name="mysql_rds_start_replication_until_gtid_for_channel-examples"></a>

Contoh berikut memulai replikasi`channel_1`, dan mereplikasi perubahan hingga mencapai. GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`

```
call mysql.rds_start_replication_until_gtid_for_channel('3E11FA47-71CA-11E1-9E33-C80AA9429562:23','channel_1');
```

## mysql.rds\$1stop\$1replication\$1for\$1channel
<a name="mysql_rds_stop_replication_for_channel"></a>

Menghentikan replikasi dari instans My SQL DB pada saluran yang ditentukan.

### Sintaks
<a name="mysql_rds_stop_replication_for_channel-syntax"></a>

 

```
CALL mysql.rds_stop_replication_for_channel(channel_name);
```

### Parameter
<a name="mysql_rds_stop_replication_for_channel-parameters"></a>

 *channel\$1name*   
Nama saluran replikasi pada replika multi-sumber. Setiap saluran replikasi menerima peristiwa log biner dari satu sumber RDS untuk instans My SQL DB yang berjalan pada host dan port tertentu.

### Catatan penggunaan
<a name="mysql_rds_stop_replication_for_channel-usage-notes"></a>

Pengguna utama harus menjalankan prosedur `mysql.rds_stop_replication_for_channel`.

### Contoh
<a name="mysql_rds_stop_replication_for_channel-examples"></a>

Contoh berikut menghentikan replikasi pada `channel_1` replika multi-sumber.

```
CALL mysql.rds_stop_replication_for_channel('channel_1');
```