

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

# Amazon RDS untuk Saya SQL
<a name="CHAP_MySQL"></a>

Amazon RDS mendukung beberapa versi instans My SQL for DB. Untuk informasi selengkapnya tentang versi yang didukung, lihat[Versi MySQL di Amazon RDS](MySQL.Concepts.VersionMgmt.md).

Untuk membuat instans Amazon RDS untuk My SQL DB, gunakan alat atau antarmuka RDS manajemen Amazon. Kemudian, Anda dapat melakukan hal berikut:
+ Mengubah ukuran instans DB Anda
+ Mengizinkan koneksi ke instans DB Anda
+ Membuat dan memulihkan dari cadangan atau snapshot
+ Membuat sekunder Multi-AZ
+ Membuat replika baca
+ Memantau performa instans DB Anda

Untuk menyimpan dan mengakses data dalam instans DB Anda, Anda menggunakan SQL utilitas dan aplikasi saya standar.

Amazon RDS for My SQL sesuai dengan banyak standar industri. Misalnya, Anda dapat menggunakan SQL database Saya RDS untuk membangun aplikasi HIPAA yang sesuai. Anda dapat menggunakan SQL database Saya RDS untuk menyimpan informasi terkait perawatan kesehatan, termasuk informasi kesehatan yang dilindungi (PHI) berdasarkan Perjanjian Rekanan Bisnis (BAA) dengan AWS. Amazon RDS for My SQL juga memenuhi persyaratan keamanan Program Manajemen Risiko dan Otorisasi Federal (FedRAMP). Selain itu, Amazon RDS for My SQL telah menerima Dewan Otorisasi RAMP Gabungan Fed (JAB) Otoritas Sementara untuk Beroperasi (P-ATO) di RAMP HIGH Garis Dasar Fed di Wilayah. AWS GovCloud (US) Untuk informasi selengkapnya tentang standar kepatuhan yang didukung, lihat [kepatuhan cloud AWS](https://aws.amazon.com/compliance/).

Untuk informasi tentang fitur di setiap versi MySQL, lihat [Fitur utama My SQL](https://dev.mysql.com/doc/refman/8.0/en/features.html) in the My SQL documentation.

Sebelum membuat instans DB, selesaikan langkah-langkah di [Menyiapkan lingkungan Amazon RDS Anda](CHAP_SettingUp.md). Saat Anda membuat instans DB, pengguna RDS master mendapatkan DBA hak istimewa, dengan beberapa batasan. Gunakan akun ini untuk tugas administratif seperti membuat akun basis data tambahan.

Anda dapat membuat berikut ini:
+ Instans DB
+ Snapshot DB
+ P oint-in-time mengembalikan
+ Pencadangan otomatis
+ Pencadangan manual

Anda dapat menggunakan instans DB yang menjalankan My SQL di dalam virtual private cloud (VPC) berbasis AmazonVPC. Anda juga dapat menambahkan fitur ke instans My SQL DB Anda dengan mengaktifkan berbagai opsi. Amazon RDS mendukung penerapan Multi-AZ untuk My SQL sebagai solusi failover dengan ketersediaan tinggi.

**penting**  
Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak menyediakan akses shell ke instans DB. Hal tersebut juga membatasi akses ke prosedur dan tabel sistem tertentu yang membutuhkan hak istimewa tingkat lanjut. Anda dapat mengakses database Anda menggunakan SQL klien standar seperti klien mysql. Namun, Anda tidak dapat mengakses host secara langsung dengan menggunakan Telnet atau Secure Shell (SSH).

**Topics**
+ [Dukungan fitur MySQL di Amazon RDS](MySQL.Concepts.FeatureSupport.md)
+ [Versi MySQL di Amazon RDS](MySQL.Concepts.VersionMgmt.md)
+ [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md)
+ [Mengamankan koneksi instans DB MySQL](securing-mysql-connections.md)
+ [Meningkatkan kinerja kueri RDS untuk My SQL dengan Amazon RDS Optimized Reads](rds-optimized-reads.md)
+ [Meningkatkan performa penulisan dengan RDS Optimized Writes for MySQL](rds-optimized-writes.md)
+ [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md)
+ [Meningkatkan versi mesin snapshot DB MySQL](mysql-upgrade-snapshot.md)
+ [Mengimpor data ke Amazon RDS for MySQL DB instans](MySQL.Procedural.Importing.Other.md)
+ [Menggunakan replikasi MySQL di Amazon RDS](USER_MySQL.Replication.md)
+ [Mengonfigurasikan klaster aktif-aktif untuk RDS for MySQL](mysql-active-active-clusters.md)
+ [Mengekspor data dari instans DB MySQL dengan menggunakan replikasi](MySQL.Procedural.Exporting.NonRDSRepl.md)
+ [Opsi untuk instans SQL DB Saya](Appendix.MySQL.Options.md)
+ [Parameter untuk My SQL](Appendix.MySQL.Parameters.md)
+ [Tugas umum DBA untuk instans DB MySQL](Appendix.MySQL.CommonDBATasks.md)
+ [Zona waktu lokal untuk instans My SQL DB](MySQL.Concepts.LocalTimeZone.md)
+ [Masalah umum dan batasan untuk Amazon RDS for MySQL](MySQL.KnownIssuesAndLimitations.md)
+ [RDSuntuk referensi prosedur SQL tersimpan saya](Appendix.MySQL.SQLRef.md)

# Dukungan fitur MySQL di Amazon RDS
<a name="MySQL.Concepts.FeatureSupport"></a>

RDS for MySQL mendukung sebagian besar fitur dan kemampuan MySQL. Beberapa fitur mungkin memiliki dukungan terbatas atau hak istimewa yang dibatasi.

Anda dapat memfilter fitur-fitur Amazon RDS baru pada halaman [Apa yang Baru dengan Basis Data?](https://aws.amazon.com/about-aws/whats-new/database/). Untuk **Produk**, pilih **Amazon RDS**. Lalu, cari dengan menggunakan kata kunci seperti **MySQL 2022**.

**catatan**  
Daftar-daftar berikut tidak lengkap.

**Topics**
+ [Dukungan fitur MySQL di Amazon RDS untuk versi utama MySQL](#MySQL.Concepts.FeatureSupport.MajorVersions)
+ [Mesin penyimpanan yang didukung untuk RDS for MySQL](#MySQL.Concepts.Storage)
+ [Menggunakan memcached dan opsi lain dengan MySQL di Amazon RDS](#MySQL.Concepts.General.Options)
+ [Pemanasan cache InnoDB untuk MySQL di Amazon RDS](#MySQL.Concepts.InnoDBCacheWarming)
+ [Perubahan bahasa inklusif untuk RDS untuk MySQL 8.4](#mysql-8-4-inclusive-language-changes)
+ [Fitur MySQL yang tidak didukung oleh Amazon RDS](#MySQL.Concepts.Features)

## Dukungan fitur MySQL di Amazon RDS untuk versi utama MySQL
<a name="MySQL.Concepts.FeatureSupport.MajorVersions"></a>

Di bagian berikut, temukan informasi tentang dukungan fitur MySQL di Amazon RDS untuk versi utama MySQL:

**Topics**
+ [Dukungan MySQL 8.4 di Amazon RDS](#MySQL.Concepts.FeatureSupport.8-4)

Untuk informasi tentang Amazon RDS for MySQL versi minor yang didukung, lihat. [Versi kecil MySQL yang didukung di Amazon RDS](MySQL.Concepts.VersionMgmt.md#MySQL.Concepts.VersionMgmt.Supported)

### Dukungan MySQL 8.4 di Amazon RDS
<a name="MySQL.Concepts.FeatureSupport.8-4"></a>

Amazon RDS mendukung fitur baru berikut untuk instans DB Anda yang menjalankan MySQL versi 8.4 atau lebih tinggi.
+ **Perpustakaan kriptografi** — RDS untuk MySQL menggantikan OpenSSL dengan (), yang bersertifikat FIPS 140-3. AWS Libcrypto AWS-LC Untuk informasi lebih lanjut, lihat AWS-LC GitHub repositori di. [https://github.com/aws/aws-lc](https://github.com/aws/aws-lc)
+ **Perubahan TLS** - RDS untuk MySQL hanya mendukung TLS 1.2 dan TLS 1.3. Untuk informasi selengkapnya, lihat [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md).
+ **dukungan memcached** - Antarmuka memcached tidak lagi tersedia di MySQL 8.4. Untuk informasi selengkapnya, lihat [Dukungan memcached MySQL](Appendix.MySQL.Options.memcached.md).
+ Plugin **otentikasi default - Plugin** otentikasi default adalah. `caching_sha2_password` Untuk informasi selengkapnya, lihat [Plugin otentikasi default MySQL](MySQL.KnownIssuesAndLimitations.md#MySQL.Concepts.KnownIssuesAndLimitations.authentication-plugin).
+ **`mysqlpump`utilitas klien** — Utilitas `mysqlpump` klien tidak lagi tersedia di MySQL 8.4. *Untuk informasi lebih lanjut, lihat [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md) dan [mysqldump dan mysqlpump](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-large-mysql-mariadb-databases/mysqldump-and-mysqlpump.html) di Panduan Preskriptif.AWS * 
+ **Prosedur tersimpan replikasi terkelola** — Saat menggunakan prosedur tersimpan untuk mengelola replikasi dengan pengguna replikasi yang dikonfigurasi`caching_sha2_password`, Anda harus mengonfigurasi TLS dengan menentukan. `SOURCE_SSL=1` `caching_sha2_password`adalah plugin otentikasi default untuk RDS untuk MySQL 8.4.
+ **Perubahan perilaku parameter** - Parameter berikut diubah untuk MySQL 8.4.
  + `innodb_dedicated_server`— Parameter ini sekarang diaktifkan secara default. Untuk informasi selengkapnya, lihat [Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).
  + `innodb_buffer_pool`— Mesin database sekarang menghitung parameter ini, tetapi Anda dapat mengganti pengaturan ini. Untuk informasi selengkapnya, lihat [Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).
  + `innodb_redo_log_capacity`— Parameter ini sekarang mengontrol ukuran file redo log. Mesin database sekarang menghitung parameter ini, tetapi Anda dapat mengganti pengaturan ini. Untuk informasi selengkapnya, lihat [Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).
+ Parameter **usang atau dihapus - RDS untuk MySQL menghapus parameter** berikut dari grup parameter untuk instance MySQL 8.4 DB. `innodb_redo_log_capacity`Parameter sekarang mengontrol ukuran file log redo.
  + `innodb_log_file_size`
  + `innodb_log_files_in_group`
+ **Nilai default baru untuk parameter - Parameter** berikut memiliki nilai default baru untuk instance MySQL 8.4 DB:
  + Berbagai parameter komunitas MySQL yang terkait dengan kinerja berubah. Untuk informasi selengkapnya, lihat [Apa yang Baru di MySQL 8.4 sejak MySQL 8.0](https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html). 

    Sebaiknya Anda menguji performa aplikasi di RDS untuk MySQL 8.4 sebelum memigrasikan instance produksi.
  + `innodb_purge_threads`— Nilai default diatur ke rumus `LEAST({DBInstanceVCPU/2},4)` untuk mencegah panjang daftar riwayat InnoDB tumbuh terlalu besar. 
  + `group_replication_exit_state_action`— Nilai defaultnya adalah`OFFLINE_MODE`, yang sejajar dengan default di Komunitas MySQL. Untuk informasi selengkapnya, lihat [Pertimbangan dan praktik terbaik untuk RDS untuk cluster aktif-aktif MySQL](mysql-active-active-clusters-considerations-limitations.md#mysql-active-active-clusters-considerations).
  + `binlog_format`— Nilai defaultnya adalah`ROW`, yang sejajar dengan default di Komunitas MySQL. Anda dapat memodifikasi parameter untuk instans DB AZ tunggal atau instans DB multi-AZ, tetapi tidak untuk cluster DB multi-AZ. Cluster DB multi-AZ menggunakan replikasi semisinkron, dan kapan `binlog_format` disetel ke atau, replikasi gagal. `MIXED` `STATEMENT`
+ **Perubahan bahasa inklusif** — RDS untuk MySQL 8.4 mencakup perubahan dari RDS untuk MySQL 8.0 terkait dengan kata kunci dan skema sistem untuk bahasa inklusif. Untuk informasi selengkapnya, lihat [Perubahan bahasa inklusif untuk RDS untuk MySQL 8.4](#mysql-8-4-inclusive-language-changes).

Untuk daftar semua fitur dan perubahan MySQL 8.4, [lihat Apa yang Baru di MySQL 8.4 sejak MySQL 8.0 dalam dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html).

Lihat daftar fitur yang tidak didukung di [Fitur MySQL yang tidak didukung oleh Amazon RDS](#MySQL.Concepts.Features). 

## Mesin penyimpanan yang didukung untuk RDS for MySQL
<a name="MySQL.Concepts.Storage"></a>

Meskipun MySQL mendukung banyak mesin penyimpanan dengan berbagai kemampuan, tidak semuanya dioptimalkan untuk pemulihan kerusakan dan durabilitas data. Amazon RDS sepenuhnya mendukung mesin penyimpanan InnoDB untuk instans DB MySQL. Fitur Amazon RDS seperti Point-In-Time restore dan snapshot restore memerlukan mesin penyimpanan yang dapat dipulihkan dan didukung hanya untuk mesin penyimpanan InnoDB. Untuk informasi selengkapnya, lihat [Dukungan memcached MySQL](Appendix.MySQL.Options.memcached.md). 

Mesin Penyimpanan Gabungan saat ini tidak didukung oleh Amazon RDS for MySQL. 

Untuk skema yang dibuat pengguna, mesin penyimpanan MyISAM tidak mendukung pemulihan yang andal dan dapat mengakibatkan data hilang atau rusak saat MySQL dimulai ulang setelah pemulihan, mencegah pemulihan atau pemulihan snapshot berfungsi sebagaimana dimaksud. Point-In-Time Namun, jika Anda tetap memilih menggunakan MyISAM dengan Amazon RDS, snapshot dapat bermanfaat pada beberapa kondisi. 

**catatan**  
Tabel sistem dalam skema `mysql` bisa berada dalam penyimpanan MyISAM.

Jika Anda ingin mengonversi tabel MyISAM yang ada untuk tabel InnoDB, Anda dapat menggunakan perintah `ALTER TABLE` (misalnya, `alter table TABLE_NAME engine=innodb;`). Harap diingat bahwa MyISAM dan InnoDB memiliki keunggulan dan kekurangan yang berbeda, jadi Anda harus sepenuhnya mengevaluasi dampak peralihan ini pada aplikasi Anda sebelum melakukannya. 

MySQL 5.1, 5.5, dan 5.6 sudah tidak didukung di Amazon RDS. Namun, Anda dapat memulihkan snapshot MySQL 5.1, dan 5.6 yang sudah ada. Saat Anda memulihkan snapshot MySQL 5.1, 5.5, atau 5.6, instans DB secara otomatis ditingkatkan ke MySQL 5.7. 

## Menggunakan memcached dan opsi lain dengan MySQL di Amazon RDS
<a name="MySQL.Concepts.General.Options"></a>

Sebagian besar mesin DB Amazon RDS mendukung grup opsi yang memungkinkan Anda memilih fitur tambahan untuk instans DB Anda. Instans DB RDS for MySQL mendukung opsi `memcached`, sebuah cache sederhana berbasis kunci. Untuk informasi selengkapnya tentang `memcached` dan opsi lainnya, lihat [Opsi untuk instans SQL DB Saya](Appendix.MySQL.Options.md). Untuk informasi selengkapnya tentang penggunaan grup opsi, lihat [Menggunakan grup opsi](USER_WorkingWithOptionGroups.md). 

## Pemanasan cache InnoDB untuk MySQL di Amazon RDS
<a name="MySQL.Concepts.InnoDBCacheWarming"></a>

Pemanasan cache InnoDB dapat memberikan peningkatan performa untuk instans DB MySQL Anda dengan menyimpan status buffer pool saat ini ketika instans DB dimatikan, lalu memuat ulang buffer pool tersebut dari informasi tersimpan ketika instans DB dimulai. Dengan begitu, buffer pool tidak perlu melakukan “pemanasan” dari penggunaan basis data normal dan sebagai gantinya mengisi buffer pool di awal dengan halaman-halaman untuk kueri umum. File yang menyimpan informasi buffer pool yang disimpan hanya menyimpan metadata untuk halaman yang ada di dalam buffer pool, bukan halaman itu sendiri. Hasilnya, file tidak memerlukan banyak ruang penyimpanan. Ukuran file-nya sekitar 0,2 persen dari ukuran cache. Misalnya, untuk cache 64 GiB, ukuran file pemanasan cache adalah 128 MiB. Untuk informasi selengkapnya tentang pemanasan cache, lihat [Saving and restoring the buffer pool state](https://dev.mysql.com/doc/refman/8.0/en/innodb-preload-buffer-pool.html) dalam dokumentasi MySQL. 

Instans DB RDS for MySQL mendukung pemanasan cache InnoDB. Untuk mengaktifkan pemanasan cache InnoDB, atur parameter `innodb_buffer_pool_dump_at_shutdown` dan `innodb_buffer_pool_load_at_startup` ke 1 dalam grup parameter untuk instans DB Anda. Mengubah nilai parameter-parameter ini di grup parameter akan memengaruhi semua instans DB MySQL yang menggunakan grup parameter tersebut. Untuk mengaktifkan pemanasan cache InnoDB bagi instans DB MySQL tertentu, Anda mungkin perlu membuat grup parameter baru untuk instans-instans tersebut. Untuk informasi tentang grup parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

Pemanasan cache InnoDB terutama memberikan manfaat performa untuk instans DB yang menggunakan penyimpanan standar. Jika Anda menggunakan penyimpanan PIOPS, Anda biasanya tidak melihat peningkatan performa yang signifikan. 

**penting**  
Jika instans DB MySQL tidak mati secara normal, seperti saat failover, status buffer pool tidak akan disimpan ke disk. Dalam kasus ini, MySQL memuat file buffer pool apa pun yang tersedia saat instans DB dimulai ulang. Tidak ada kerugian yang timbul, tetapi buffer pool yang dipulihkan mungkin tidak mencerminkan status terbaru buffer pool sebelum mulai ulang. Untuk memastikan bahwa Anda memiliki status terbaru dari pool buffer yang tersedia untuk menyiapkan cache InnoDB saat startup, kami menyarankan Anda mencadangkan pool buffer secara berkala "sesuai permintaan".  
Anda dapat membuat peristiwa untuk mencadangkan pool buffer secara otomatis dan pada interval rutin. Misalnya, pernyataan berikut membuat peristiwa bernama `periodic_buffer_pool_dump` yang mencadangkan pool buffer setiap jam.   

```
1. CREATE EVENT periodic_buffer_pool_dump 
2. ON SCHEDULE EVERY 1 HOUR 
3. DO CALL mysql.rds_innodb_buffer_pool_dump_now();
```
Untuk informasi selengkapnya tentang peristiwa MySQL, lihat [Event syntax](https://dev.mysql.com/doc/refman/8.0/en/events-syntax.html) dalam dokumentasi MySQL. 

### Mencadangkan dan memuat pool buffer sesuai permintaan
<a name="MySQL.Concepts.InnoDBCacheWarming.OnDemand"></a>

Anda dapat menyimpan dan memuat cache InnoDB “sesuai permintaan”.
+ Untuk mencadangkan status saat ini dari pool buffer ke disk, panggil prosedur tersimpan [mysql.rds\$1innodb\$1buffer\$1pool\$1dump\$1now](mysql-stored-proc-warming.md#mysql_rds_innodb_buffer_pool_dump_now).
+ Untuk memuat status tersimpan pool buffer dari disk, panggil prosedur tersimpan [mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1now](mysql-stored-proc-warming.md#mysql_rds_innodb_buffer_pool_load_now).
+ Untuk membatalkan operasi pemuatan yang sedang berlangsung, panggil prosedur tersimpan [mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1abort](mysql-stored-proc-warming.md#mysql_rds_innodb_buffer_pool_load_abort).

## Perubahan bahasa inklusif untuk RDS untuk MySQL 8.4
<a name="mysql-8-4-inclusive-language-changes"></a>

RDS untuk MySQL 8.4 mencakup perubahan dari edisi komunitas MySQL 8.4 yang terkait dengan kata kunci dan skema sistem untuk bahasa inklusif. Misalnya, `SHOW REPLICA STATUS` perintah menggantikan`SHOW SLAVE STATUS`.

**Topics**
+ [Perubahan nama parameter konfigurasi](#mysql-8-4-inclusive-language-changes-params)
+ [Perubahan nama prosedur yang disimpan](#mysql-8-4-inclusive-language-changes-sp)

### Perubahan nama parameter konfigurasi
<a name="mysql-8-4-inclusive-language-changes-params"></a>

Parameter konfigurasi berikut memiliki nama baru di RDS untuk MySQL 8.4.

Untuk kompatibilitas, Anda dapat memeriksa nama parameter di `mysql` klien dengan menggunakan salah satu nama. Anda hanya dapat menggunakan nama baru saat memodifikasi nilai dalam grup parameter MySQL 8.4 kustom. Untuk informasi selengkapnya, lihat [Grup parameter kustom dan default](parameter-groups-overview.md#parameter-groups-overview.custom).


| Nama yang akan dihapus | Nama yang baru atau direkomendasikan | 
| --- | --- | 
|  `init_slave`  |  `init_replica`  | 
|  `log_slave_updates`  |  `log_replica_updates`  | 
|  `log_slow_slave_statements`  |  `log_slow_replica_statements`  | 
|  `rpl_stop_slave_timeout`  |  `rpl_stop_replica_timeout`  | 
|  `skip_slave_start`  |  `skip_replica_start`  | 
|  `slave_checkpoint_group`  |  `replica_checkpoint_group`  | 
|  `slave_checkpoint_period`  |  `replica_checkpoint_period`  | 
|  `slave_compressed_protocol`  |  `replica_compressed_protocol`  | 
|  `slave_exec_mode`  |  `replica_exec_mode`  | 
|  `slave_load_tmpdir`  |  `replica_load_tmpdir`  | 
|  `slave_max_allowed_packet`  |  `replica_max_allowed_packet`  | 
|  `slave_net_timeout`  |  `replica_net_timeout`  | 
|  `slave_parallel_type`  |  `replica_parallel_type`  | 
|  `slave_parallel_workers`  |  `replica_parallel_workers`  | 
|  `slave_pending_jobs_size_max`  |  `replica_pending_jobs_size_max`  | 
|  `slave_preserve_commit_order`  |  `replica_preserve_commit_order`  | 
|  `slave_skip_errors`  |  `replica_skip_errors`  | 
|  `slave_sql_verify_checksum`  |  `replica_sql_verify_checksum`  | 
|  `slave_transaction_retries`  |  `replica_transaction_retries`  | 
|  `slave_type_conversions`  |  `replica_type_conversions`  | 
|  `sql_slave_skip_counter`  |  `sql_replica_skip_counter`  | 

**catatan**  
Parameter `replica_allow_batching` tidak tersedia karena Amazon RDS tidak mendukung cluster NDB.

### Perubahan nama prosedur yang disimpan
<a name="mysql-8-4-inclusive-language-changes-sp"></a>

Prosedur tersimpan berikut memiliki nama baru di RDS untuk MySQL 8.4.

Untuk kompatibilitas, Anda dapat menggunakan salah satu nama dalam RDS awal untuk rilis MySQL 8.4. Nama prosedur lama akan dihapus dalam rilis mendatang. Untuk informasi selengkapnya, lihat [Mengkonfigurasi, memulai, dan menghentikan replikasi log biner (binlog)](mysql-stored-proc-replicating.md).


| Nama yang akan dihapus | Nama yang baru atau direkomendasikan | 
| --- | --- | 
|  `mysql.rds_next_master_log`  |  `mysql.rds_next_source_log `  | 
|  `mysql.rds_reset_external_master`  |  `mysql.rds_reset_external_source`  | 
|  `mysql.rds_set_external_master`  |  `mysql.rds_set_external_source`  | 
|  `mysql.rds_set_external_master_with_auto_position`  |  `mysql.rds_set_external_source_with_auto_position`  | 
|  `mysql.rds_set_external_master_with_delay`  |  `mysql.rds_set_external_source_with_delay`  | 
|  `mysql.rds_set_master_auto_position`  |  `mysql.rds_set_source_auto_position`  | 

## Fitur MySQL yang tidak didukung oleh Amazon RDS
<a name="MySQL.Concepts.Features"></a>

Amazon RDS saat ini tidak mendukung fitur-fitur MySQL berikut: 
+ Plugin Autentikasi
+ Pencatatan Log Kesalahan ke Log Sistem
+ Enkripsi Ruang Tabel InnoDB
+ Cluster NDB
+ Plugin Kekuatan Kata Sandi
+ Variabel sistem yang dipertahankan
+ Plugin Tulis Ulang Kueri Penulis Ulang
+ Replikasi semisinkron, kecuali untuk cluster DB multi-AZ
+ Ruang tabel yang dapat dipindahkan
+ Plugin X

Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak memberikan akses shell ke instans DB. Amazon RDS juga membatasi akses ke prosedur dan tabel sistem tertentu yang memerlukan hak istimewa tingkat lanjut. Amazon RDS mendukung akses ke basis data di instans DB dengan menggunakan aplikasi klien SQL standar. Amazon RDS tidak mengizinkan akses host langsung ke instans basis data dengan menggunakan Telnet, Secure Shell (SSH), atau Windows Remote Desktop Connection. Ketika Anda membuat instans DB, Anda ditugaskan sebagai *db\$1owner* untuk semua database pada instance itu, dan Anda memiliki semua izin tingkat database kecuali yang digunakan untuk backup. Amazon RDS mengelola pencadangan untuk Anda.

# Versi MySQL di Amazon RDS
<a name="MySQL.Concepts.VersionMgmt"></a>

Untuk MySQL, nomor versi disusun dengan format versi = X.Y.Z. Dalam terminologi Amazon RDS, X.Y menunjukkan versi utama, dan Z adalah nomor versi kecil. Untuk implementasi Amazon RDS, perubahan versi dianggap utama jika nomor versi utamanya berubah–-misalnya, dari versi 5.7 menjadi 8.0. Perubahan versi dianggap kecil jika hanya nomor versi minor yang berubah—misalnya, dari versi 8.0.32 ke 8.0.34.

**Topics**
+ [Versi kecil MySQL yang didukung di Amazon RDS](#MySQL.Concepts.VersionMgmt.Supported)
+ [Versi utama MySQL yang didukung di Amazon RDS](#MySQL.Concepts.VersionMgmt.ReleaseCalendar)
+ [Amazon RDS Extended Support versi untuk RDS untuk MySQL](#mysql-extended-support-releases)
+ [Menggunakan lingkungan Pratinjau Basis Data](#mysql-working-with-the-database-preview-environment)
+ [MySQL versi 9.5 di lingkungan Pratinjau Database](#mysql-preview-environment-version-9-5)
+ [MySQL versi 9.4 di lingkungan Pratinjau Database](#mysql-preview-environment-version-9-4)
+ [MySQL versi 9.3 di lingkungan Pratinjau Database](#mysql-preview-environment-version-9-3)
+ [Versi-versi yang dihentikan untuk Amazon RDS for MySQL](#MySQL.Concepts.DeprecatedVersions)

## Versi kecil MySQL yang didukung di Amazon RDS
<a name="MySQL.Concepts.VersionMgmt.Supported"></a>

Amazon RDS saat ini mendukung versi kecil MySQL berikut.

**catatan**  
Amazon RDS Extended Support tidak tersedia untuk versi minor.

Tabel berikut menunjukkan versi minor MySQL 8.4 yang saat ini didukung Amazon RDS. 


| Versi mesin MySQL | Tanggal rilis komunitas | Tanggal rilis RDS | Tanggal akhir dukungan standar RDS | 
| --- | --- | --- | --- | 
|  8.4.8  |  20 Januari 2026  |  3 Februari 2026  | 3 Februari 2027 | 
|  8.4.7  |  21 Oktober 2025  |  13 November 2025  | 30 November 2026 | 
|  8.4.6  |  22 Juli 2025  |  1 Agustus 2025  | 30 September 2026 | 
|  8.4.5  |  15 April 2025  |  29 April 2025  | 30 September 2026 | 
|  8.4.4  |  21 Januari 2025  |  19 Februari 2025  | 31 Mei 2026 | 
|  8.4.3  |  15 Oktober 2024  |  21 November 2024  | 31 Mei 2026 | 

Tabel berikut menunjukkan versi minor MySQL 8.0 yang saat ini didukung Amazon RDS.

**catatan**  
Versi minor dapat mencapai akhir dukungan standar sebelum versi utama melakukannya. Misalnya, versi minor 8.0.28 mencapai akhir tanggal dukungan standar pada 28 Maret 2024 sementara versi utama 8.0 mencapai tanggal ini pada 31 Juli 2026. RDS akan mendukung versi minor 8.0.\$1 tambahan yang dirilis komunitas MySQL di antara tanggal-tanggal ini. Kami menyarankan Anda meningkatkan ke versi minor terbaru yang tersedia sesering mungkin untuk semua versi utama.


| Versi mesin MySQL | Tanggal rilis komunitas | Tanggal rilis RDS | Tanggal akhir dukungan standar RDS | 
| --- | --- | --- | --- | 
|  8.0.45  |  20 Januari 2026  |  3 Februari 2026 |  31 Juli 2026  | 
|  8.0.44  |  21 Oktober 2025  |  13 November 2025 |  31 Juli 2026  | 
|  8.0.43  |  22 Juli 2025  |  1 Agustus 2025 |  31 Juli 2026  | 
|  8.0.42  |  15 April 2025  |  29 April 2025 |  31 Juli 2026  | 
|  8.0.41  |  21 Januari 2025  |  19 Februari 2025 |  31 Mei 2026  | 
|  8.0.40  |  15 Oktober 2024  |  13 November 2024 | 31 Mei 2026 | 

Tabel berikut menunjukkan versi minor MySQL 5.7 yang tersedia di bawah Amazon RDS Extended Support.

**catatan**  
Versi minor dapat mencapai akhir Extended Support sebelum versi utama melakukannya. Misalnya, versi minor 5.7.44-RDS.20240529 mencapai akhir tanggal Extended Support pada September 2025 sementara versi utama 5.7 mencapai tanggal ini pada 28 Februari 2027. RDS akan menghasilkan dan merilis versi minor 5.7.44-rds.xxyyzz tambahan di antara tanggal-tanggal ini. Kami menyarankan Anda meningkatkan ke versi minor terbaru yang tersedia sesering mungkin untuk semua versi utama.


| Versi mesin MySQL | Tanggal rilis komunitas | Tanggal rilis RDS | Tanggal akhir Extended Support RDS | 
| --- | --- | --- | --- | 
|  5.7.44-RDS.20260212\$1  | Tidak berlaku | 26 Februari 2026 | 28 Februari 2027 | 
|  5.7.44-RDS.20251212\$1  | Tidak berlaku | 12 Desember 2025 | 30 Desember 2026 | 
|  5.7.44-RDS.20250818\$1  | Tidak berlaku | 15 September 2025 | 30 September 2026 | 
|  5.7.44-RDS.20250508\$1  | Tidak berlaku | 20 Mei 2025 | 30 September 2026 | 
|  5.7.44-RDS.20250213\$1  | Tidak berlaku | 12 Maret 2025 | 30 September 2026 | 
|  5.7.44-RDS.20250103\$1  | Tidak berlaku | 13 Februari 2025 | 31 Mei 2026 | 

\$1 Komunitas MySQL pensiun versi utama 5.7 dan tidak akan merilis versi minor baru. Ini adalah versi minor yang dirilis Amazon RDS dengan patch keamanan kritis dan perbaikan bug untuk database MySQL 5.7 yang tercakup dalam RDS Extended Support. Untuk informasi selengkapnya tentang versi minor ini, lihat[Amazon RDS Extended Support versi untuk RDS untuk MySQL](#mysql-extended-support-releases). Untuk informasi selengkapnya tentang RDS Extended Support, lihat[](extended-support.md).

Anda dapat menentukan versi MySQL mana pun yang saat ini didukung ketika membuat instans basis data baru. Anda dapat menentukan versi besar (seperti MySQL 5.7), dan versi kecil mana pun yang didukung untuk versi besar tersebut. Jika tidak ada versi yang ditentukan, Amazon RDS menetapkan default ke versi yang didukung, biasanya versi terbaru. Jika versi utama ditentukan tetapi versi kecil tidak, Amazon RDS menjadikan menetapkan default ke rilis versi utama terbaru yang telah Anda tentukan. Untuk melihat daftar versi yang didukung, serta default untuk instance DB yang baru dibuat, jalankan perintah. [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) AWS CLI 

Misalnya, untuk membuat daftar versi mesin yang didukung untuk RDS for MySQL, jalankan perintah CLI berikut:

```
aws rds describe-db-engine-versions --engine mysql --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text
```

Versi MySQL default mungkin berbeda berdasarkan Wilayah AWS. Untuk membuat instans basis data dengan versi kecil tertentu, tentukan versi kecil selama pembuatan instans basis data. Anda dapat menentukan versi minor default untuk Wilayah AWS dengan menjalankan AWS CLI perintah berikut:

```
aws rds describe-db-engine-versions --default-only --engine mysql --engine-version major_engine_version --region region --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text
```

Ganti *major\$1engine\$1version* dengan versi mesin utama, dan ganti *region* dengan Wilayah AWS. Misalnya, AWS CLI perintah berikut mengembalikan versi mesin minor MySQL default untuk versi utama 5.7 dan US West (Oregon) (us-west-2): Wilayah AWS 

```
aws rds describe-db-engine-versions --default-only --engine mysql --engine-version 5.7 --region us-west-2 --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text
```

Dengan Amazon RDS, Anda dapat mengontrol kapan harus meningkatkan versi instans MySQL Anda ke versi utama baru yang didukung oleh Amazon RDS. Anda dapat mempertahankan kompatibilitas dengan versi MySQL tertentu, menguji versi baru dengan aplikasi Anda sebelum di-deploy di dalam produksi, dan melakukan peningkatan versi utama pada waktu-waktu yang paling pas dengan jadwal Anda.

Jika peningkatan versi kecil otomatis diaktifkan, instans DB Anda akan otomatis ditingkatkan ke versi MySQL kecil karena didukung oleh Amazon RDS. Proses patching ini terjadi selama periode pemeliharaan terjadwal Anda. Anda dapat memodifikasi instans DB untuk mengaktifkan atau menonaktifkan peningkatan versi kecil otomatis. 

Jika Anda memilih untuk tidak melakukan peningkatan terjadwal otomatis, Anda dapat melakukan peningkatan manual ke rilis versi kecil yang didukung dengan mengikuti prosedur yang sama seperti untuk pembaruan versi utama. Lihat informasinya di [Meningkatkan versi mesin instans DB ](USER_UpgradeDBInstance.Upgrading.md). 

Amazon RDS saat ini mendukung peningkatan berikut untuk versi utama mesin database MySQL: 
+ MySQL 5.7 ke MySQL 8.0
+ MySQL 8.0 ke MySQL 8.4

Karena peningkatan versi utama melibatkan beberapa risiko kompatibilitas, peningkatan tersebut tidak terjadi secara otomatis; Anda harus membuat permintaan untuk memodifikasi instans DB. Anda harus menguji peningkatan apa pun secara menyeluruh sebelum meningkatkan versi instans produksi Anda. Untuk informasi tentang peningkatan instans DB MySQL, lihat [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md). 

Anda dapat menguji instans DB terhadap versi baru sebelum melakukan peningkatan versi dengan membuat snapshot DB dari instans DB yang sudah Anda miliki, memulihkan dari snapshot DB tersebut untuk membuat instans DB baru, kemudian memulai peningkatan versi untuk instans DB baru. Anda kemudian dapat melakukan eksperimen secara aman pada klon instans DB yang ditingkatkan tersebut sebelum memutuskan apakah Anda akan meningkatkan versi instans DB asli Anda atau tidak.

### Versi minor MySQL di Amazon RDS
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor"></a>

Untuk perubahan yang dilakukan komunitas MySQL pada versi minor, [lihat Pembaruan Patch Kritis, Peringatan Keamanan, dan](https://www.oracle.com/security-alerts/) Buletin di situs web Oracle. Di bawah **Pembaruan Patch Kritis**, pilih bulan ketika Oracle merilis versi minor. Dan kemudian pilih versi minor MySQL di **bawah Produk dan Versi yang Terkena**.

**Topics**
+ [MySQL versi 8.4.8](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.8)
+ [MySQL versi 8.4.7](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.7)
+ [MySQL versi 8.4.6](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.6)
+ [MySQL versi 8.4.5](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.5)
+ [MySQL versi 8.4.4](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.4)
+ [MySQL versi 8.0.45](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.45)
+ [MySQL versi 8.0.44](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.44)
+ [MySQL versi 8.0.43](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.43)
+ [MySQL versi 8.0.42](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.42)
+ [MySQL versi 8.0.41](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.41)
+ [MySQL versi 8.0.40](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.40)
+ [MySQL versi 8.0.39](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.39)
+ [MySQL versi 8.0.37](#MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.37)

#### MySQL versi 8.4.8
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.8"></a>

MySQL versi 8.4.8 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025c`.
+ Memperbaiki masalah yang dapat menyebabkan beberapa pernyataan SQL tidak masuk log dalam log audit.

#### MySQL versi 8.4.7
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.7"></a>

MySQL versi 8.4.7 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

#### MySQL versi 8.4.6
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.6"></a>

MySQL versi 8.4.6 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

#### MySQL versi 8.4.5
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.5"></a>

MySQL versi 8.4.5 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025b`.

#### MySQL versi 8.4.4
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.4.4"></a>

MySQL versi 8.4.4 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025a`.
+ Memperbaiki bug yang menyebabkan kesalahan pemeriksaan saat menjalankan prosedur tersimpan Amazon RDS dan. `mysql.rds_set_configuration` `mysql.rds_kill`

#### MySQL versi 8.0.45
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.45"></a>

MySQL versi 8.0.45 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025c`.
+ Memperbaiki masalah yang dapat menyebabkan beberapa pernyataan SQL tidak masuk log dalam log audit.

#### MySQL versi 8.0.44
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.44"></a>

MySQL versi 8.0.44 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

#### MySQL versi 8.0.43
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.43"></a>

MySQL versi 8.0.43 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

#### MySQL versi 8.0.42
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.42"></a>

MySQL versi 8.0.42 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025b`.

#### MySQL versi 8.0.41
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.41"></a>

MySQL versi 8.0.41 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbarui informasi zona waktu untuk mendasarkannya`tzdata2025a`.
+ Memperbaiki bug yang menyebabkan kesalahan pemeriksaan saat menjalankan prosedur tersimpan Amazon RDS dan. `mysql.rds_set_configuration` `mysql.rds_kill`

#### MySQL versi 8.0.40
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.40"></a>

MySQL versi 8.0.40 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbaiki bug yang menyebabkan kegagalan ketidakcocokan set karakter selama peningkatan basis data.

#### MySQL versi 8.0.39
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.39"></a>

MySQL versi 8.0.39 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbaiki bug yang `sql_log_off` mencegah bekerja dengan benar dengan hak `SESSION_VARIABLES_ADMIN` istimewa.
+ Memperbaiki bug yang mencegah pengguna master untuk dapat memberikan `SESSION_VARIABLE_ADMIN` hak istimewa pengguna database lainnya.
+ Memperbaiki bug yang menyebabkan campuran pemeriksaan ilegal saat menjalankan prosedur tersimpan yang disediakan RDS.

#### MySQL versi 8.0.37
<a name="MySQL.Concepts.VersionMgmt.Supported.Minor.8.0.37"></a>

MySQL versi 8.0.37 sekarang tersedia di Amazon RDS. Rilis ini berisi perbaikan dan peningkatan yang ditambahkan oleh komunitas MySQL dan Amazon RDS.

**Fitur dan penyempurnaan baru**
+ Memperbaiki bug dengan mengeksekusi pernyataan DDL instan diikuti oleh UPDATE yang menyebabkan kegagalan pernyataan.

## Versi utama MySQL yang didukung di Amazon RDS
<a name="MySQL.Concepts.VersionMgmt.ReleaseCalendar"></a>

Versi utama RDS for MySQL tersedia di bawah dukungan standar setidaknya sampai berakhirnya siklus komunitas untuk versi komunitas yang sesuai. Anda dapat terus menjalankan versi utama melewati tanggal akhir dukungan standar RDS dengan biaya tertentu. Untuk informasi selengkapnya, lihat [](extended-support.md) dan [harga Amazon RDS for MySQL](https://aws.amazon.com/rds/mysql/pricing/). 

Anda dapat menggunakan tanggal berikut untuk merencanakan siklus pengujian dan peningkatan Anda. 

**catatan**  
Anda juga dapat melihat informasi tentang tanggal dukungan untuk versi mesin utama dengan menggunakan AWS CLI atau RDS API. Untuk informasi selengkapnya, lihat [Melihat tanggal dukungan untuk versi engine di Amazon RDS Extended Support](extended-support-viewing-support-dates.md).


| Versi utama MySQL | Tanggal rilis komunitas | Tanggal rilis RDS | Tanggal akhir pemakaian komunitas | Tanggal akhir dukungan standar RDS | Tanggal dimulainya harga Dukungan yang Diperpanjang tahun 1 RDS | Tanggal mulai harga tahun ke-3 Dukungan yang Diperluas RDS | Tanggal akhir Dukungan yang Diperluas RDS | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  MySQL 8.4  |  30 April 2024  |  21 November 2024  |  30 April 2029  |  31 Juli 2029  |  1 Agustus, 2029  |  1 Agustus 2031  |  31 Juli 2032  | 
|  MySQL 8.0  |  19 April 2018  |  23 Oktober 2018  |  30 April 2026  |  31 Juli 2026  |  1 Agustus 2026  |  1 Agustus 2028  |  31 Juli 2029  | 
|  MySQL 5.7\$1  |  21 Oktober 2015  |  22 Februari 2016  |  31 Oktober 2023  |  29 Februari 2024  |  1 Maret 2024  |  1 Maret 2026  |  28 Februari 2027  | 

\$1 MySQL 5.7 sekarang hanya tersedia di bawah RDS Extended Support. Untuk informasi selengkapnya, lihat [](extended-support.md).

## Amazon RDS Extended Support versi untuk RDS untuk MySQL
<a name="mysql-extended-support-releases"></a>

Konten berikut mencantumkan semua rilis RDS Extended Support untuk RDS untuk versi MySQL.

**Topics**
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20260212](#mysql-extended-support-releases-version-5.7.44-RDS.20260212)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20251212](#mysql-extended-support-releases-version-5.7.44-RDS.20251212)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250818](#mysql-extended-support-releases-version-5.7.44-RDS.20250818)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250508](#mysql-extended-support-releases-version-5.7.44-20250508)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250213](#mysql-extended-support-releases-version-5.7.44-20250213)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250103](#mysql-extended-support-releases-version-5.7.44-20250103)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240808](#mysql-extended-support-releases-version-5.7.44-20240808)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240529](#mysql-extended-support-releases-version-5.7.44-20240529)
+ [RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240408](#mysql-extended-support-releases-version-5.7.44-20240408)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20260212
<a name="mysql-extended-support-releases-version-5.7.44-RDS.20260212"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20260212 tersedia.

**Bug diperbaiki:**
+ Segarkan sertifikat uji yang digunakan untuk menguji perbaikan bug 22295186.
+ Memperbaiki kebocoran memori dengan indeks awalan pada kolom gumpalan.

**CVEs tetap:**
+ [CVE-2026-21936](https://nvd.nist.gov/vuln/detail/CVE-2026-21936)
+ [CVE-2026-21968](https://nvd.nist.gov/vuln/detail/CVE-2026-21968)
+ [CVE-2026-21941](https://nvd.nist.gov/vuln/detail/CVE-2026-21941)
+ [CVE-2026-21948](https://nvd.nist.gov/vuln/detail/CVE-2026-21948)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20251212
<a name="mysql-extended-support-releases-version-5.7.44-RDS.20251212"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20251212 tersedia.

**Bug diperbaiki:**
+ Memperbaiki masalah dengan startup server ketika ukuran kumpulan buffer melebihi batas atas.
+ Pembacaan tetap dari `INFORMATION_SCHEMA.INNODB_LOCKS` itu menyebabkan server keluar secara tidak normal.
+ Memperbaiki masalah dengan dukungan JUnit pelaporan di MySQL Test Run (MTR).
+ Memperbaiki masalah kompilasi saat membangun dengan `-DWITH_INNODB_MEMCACHED=ON` opsi.
+ Memperbaiki masalah dengan eksekusi MySQL Test Run (MTR) untuk bug 25182306.

**CVEs tetap:**
+ [CVE-2025-53054](https://nvd.nist.gov/vuln/detail/CVE-2025-53054)
+ [CVE-2025-53044](https://nvd.nist.gov/vuln/detail/CVE-2025-53044)
+ [CVE-2025-53045](https://nvd.nist.gov/vuln/detail/CVE-2025-53045)
+ [CVE-2025-53062](https://nvd.nist.gov/vuln/detail/CVE-2025-53062)
+ [CVE-2025-53040](https://nvd.nist.gov/vuln/detail/CVE-2025-53040)
+ [CVE-2025-53042](https://nvd.nist.gov/vuln/detail/CVE-2025-53042)
+ [CVE-2025-53067](https://nvd.nist.gov/vuln/detail/CVE-2025-53067)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250818
<a name="mysql-extended-support-releases-version-5.7.44-RDS.20250818"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250818 tersedia.

**Bug diperbaiki:**
+ Memperbaiki masalah di mana plugin penulisan ulang kueri gagal saat server dioperasikan. `autocommit=OFF`
+ Memperbaiki masalah izin yang mencegah build Debian dan Ubuntu berjalan dalam mode tanpa akar.
+ Memperbaiki pembaruan yang hilang untuk bug 30875669.

**CVEs tetap:**
+ [CVE-2025-50082](https://nvd.nist.gov/vuln/detail/CVE-2025-50082)
+ [CVE-2025-50083](https://nvd.nist.gov/vuln/detail/CVE-2025-50083)
+ [CVE-2025-50079](https://nvd.nist.gov/vuln/detail/CVE-2025-50079)
+ [CVE-2025-50084](https://nvd.nist.gov/vuln/detail/CVE-2025-50084)
+ [CVE-2025-50087](https://nvd.nist.gov/vuln/detail/CVE-2025-50087)
+ [CVE-2025-50091](https://nvd.nist.gov/vuln/detail/CVE-2025-50091)
+ [CVE-2025-50101](https://nvd.nist.gov/vuln/detail/CVE-2025-50101)
+ [CVE-2025-50102](https://nvd.nist.gov/vuln/detail/CVE-2025-50102)
+ [CVE-2025-50098](https://nvd.nist.gov/vuln/detail/CVE-2025-50098)
+ [CVE-2025-53023](hhttps://nvd.nist.gov/vuln/detail/CVE-2025-53023)
+ [CVE-2025-50081](https://nvd.nist.gov/vuln/detail/CVE-2025-50081)
+ [CVE-2025-50085](https://nvd.nist.gov/vuln/detail/CVE-2025-50085)
+ [CVE-2025-50077](https://nvd.nist.gov/vuln/detail/CVE-2025-50077)
+ [CVE-2025-50088](https://nvd.nist.gov/vuln/detail/CVE-2025-50088)
+ [CVE-2025-50092](https://nvd.nist.gov/vuln/detail/CVE-2025-50092)
+ [CVE-2025-50099](https://nvd.nist.gov/vuln/detail/CVE-2025-50099)
+ [CVE-2025-50096](https://nvd.nist.gov/vuln/detail/CVE-2025-50096)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250508
<a name="mysql-extended-support-releases-version-5.7.44-20250508"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250508 tersedia.

**Bug diperbaiki:**
+ Indeks virtual tetap tidak stabil setelah rollback saat `index_id` lebih besar dari maks. `uint32`
+ Tes Tetap gagal dengan masalah memori.
+ Tetap `<COMMAND_CLASS>` kosong untuk`<NAME>Execute</NAME>`.
+ Memperbaiki Kompilasi MySQL dengan GCC 14 [noclose 5.7].

**CVEs tetap:**
+ [CVE-2025-30682](https://nvd.nist.gov/vuln/detail/CVE-2025-30682)
+ [CVE-2025-30687](https://nvd.nist.gov/vuln/detail/CVE-2025-30687)
+ [CVE-2025-30688](https://nvd.nist.gov/vuln/detail/CVE-2025-30688)
+ [CVE-2025-21581](https://nvd.nist.gov/vuln/detail/CVE-2025-21581)
+ [CVE-2025-21585](https://nvd.nist.gov/vuln/detail/CVE-2025-21585)
+ [CVE-2025-30689](https://nvd.nist.gov/vuln/detail/CVE-2025-30689)
+ [CVE-2025-30722](https://nvd.nist.gov/vuln/detail/CVE-2025-30722)
+ [CVE-2025-21577](https://nvd.nist.gov/vuln/detail/CVE-2025-21577)
+ [CVE-2025-30693](https://nvd.nist.gov/vuln/detail/CVE-2025-30693)
+ [CVE-2025-30695](https://nvd.nist.gov/vuln/detail/CVE-2025-30695)
+ [CVE-2025-30703](https://nvd.nist.gov/vuln/detail/CVE-2025-30703)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250213
<a name="mysql-extended-support-releases-version-5.7.44-20250213"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250213 tersedia.

**Bug diperbaiki:**
+ Memperbaiki pernyataan gagal InnoDB. `result != FTS_INVALID`
+ Memperbaiki kerusakan dan kerusakan luas indeks spasial setelah operasi `ALTER TABLE` membangun kembali tabel InnoDB menggunakan algoritme. `INPLACE`
+ Diperbaiki `ON DELETE CASCADE` dengan crash kolom yang dihasilkan di`innobase_get_computed_value`.
+ Kegagalan pernyataan tetap di. `row_MySQL_pad_col`
+ Memperbaiki masalah di mana DDL online menyebabkan kesalahan berikut:`ERROR 1712 (HY000): Index PRIMARY is corrupted`.
+ Memperbaiki crash di`Item_rollup_sum_switcher::current_arg`.
+ Memperbaiki masalah di mana cache database tidak dibilas. `DROP USER`
+ Buffer tetap menyerbu masuk. `my_print_help`
+ Memperbaiki masalah InnoDB di mana `FULLTEXT` indeks membatasi nilai `FTS_DOC_ID` 32-bit maksimal yang tidak ditandatangani.

**CVEs tetap:**
+ [CVE-2025-21497](https://nvd.nist.gov/vuln/detail/CVE-2025-21497)
+ [CVE-2025-21555](https://nvd.nist.gov/vuln/detail/CVE-2025-21555)
+ [CVE-2025-21559](https://nvd.nist.gov/vuln/detail/CVE-2025-21559)
+ [CVE-2025-21490](https://nvd.nist.gov/vuln/detail/CVE-2025-21490)
+ [CVE-2025-21491](https://nvd.nist.gov/vuln/detail/CVE-2025-21491)
+ [CVE-2025-21500](https://nvd.nist.gov/vuln/detail/CVE-2025-21500)
+ [CVE-2025-21501](https://nvd.nist.gov/vuln/detail/CVE-2025-21501)
+ [CVE-2025-21540](https://nvd.nist.gov/vuln/detail/CVE-2025-21540)
+ [CVE-2025-21543](https://nvd.nist.gov/vuln/detail/CVE-2025-21543)
+ [CVE-2025-21520](https://nvd.nist.gov/vuln/detail/CVE-2025-21520)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250103
<a name="mysql-extended-support-releases-version-5.7.44-20250103"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20250103 tersedia.

**Bug diperbaiki:**
+ Memperbaiki masalah pembersihan FTS saat menjatuhkan dan menambahkan `FULLTEXT` indeks dalam transaksi yang sama.
+ Mengoptimalkan waktu alokasi memori di klien MySQL untuk mencegah potensi kebocoran.
+ Memperbaiki pemotongan hasil pada 34 byte saat menggunakan operator. `UNION`
+  out-of-boundsAkses potensial tetap karena `ulong bitmask` dalam kode otorisasi.

**CVEs tetap:**
+ [CVE-2024-21230](https://nvd.nist.gov/vuln/detail/CVE-2024-21230)
+ [CVE-2024-21201](https://nvd.nist.gov/vuln/detail/CVE-2024-21201)
+ [CVE-2024-21241](https://nvd.nist.gov/vuln/detail/CVE-2024-21241)
+ [CVE-2024-21203](https://nvd.nist.gov/vuln/detail/CVE-2024-21203)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240808
<a name="mysql-extended-support-releases-version-5.7.44-20240808"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240808 tersedia.

**Bug diperbaiki:**
+ Kegagalan pernyataan tetap terkait dengan indeks kolom kamus.
+ Memperbaiki masalah dengan `is_binlog_cache_empty()` fungsi.
+ Memperbaiki `heap-use-after-free` kesalahan dalam `sql/item.cc` file.
+ Memperbaiki beberapa masalah indeks spasial dengan menonaktifkannya untuk `index-only` dibaca.
+ Memperbaiki masalah instrumentasi dengan `LOCK_ORDER: CONNECTION_CONTROL` plugin.
+ Benang tetap macet dengan `CONNECTION_CONTROL` plugin.
+ Tetap `PSI_THREAD_INFO` tidak memperbarui untuk`PREPARED STATEMENTS`.
+ Memperbaiki pemrosesan ganda kata-kata indeks FTS dengan`innodb_optimize_fulltext_only`.

**CVEs tetap:**
+ [CVE-2024-21177](https://nvd.nist.gov/vuln/detail/CVE-2024-21177)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240529
<a name="mysql-extended-support-releases-version-5.7.44-20240529"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240529 tersedia.

**Bug diperbaiki:**
+ Memperbaiki kegagalan `field.cc` pernyataan dengan mengimplementasikan. `fix_after_pullout`
+ Memperbaiki kegagalan pointer nol saat mengembalikan metadata ke klien untuk kueri SQL tertentu. Kueri ini berisi parameter dinamis dan subquery dalam klausa. `SELECT`
+ Memperbaiki hasil yang salah saat menggunakan `GROUP BY` untuk pemindaian indeks longgar, atau pemindaian rentang indeks yang tidak bersebelahan.
+ Memperbaiki hilangnya informasi GTID pada MySQL crash selama persistensi.
+ Memperbaiki kondisi balapan yang dapat menyebabkan transaksi InnoDB macet tanpa batas waktu.
+ Memperbaiki kondisi balapan dalam pembersihan informasi sertifikasi Replikasi Grup.
+ Memperbaiki masalah pemindaian indeks mundur dengan operasi halaman bersamaan.
+ Memperbaiki masalah status pencarian teks lengkap (FTS) yang tidak konsisten dalam skenario bersamaan.
+ Memperbaiki masalah pernyataan dengan buffer perubahan saat menghapus tabel.
+ Perilaku terpadu untuk memanggil `deinit` fungsi di semua jenis plugin.

**CVEs tetap:**
+ [CVE-2024-20963](https://nvd.nist.gov/vuln/detail/CVE-2024-20963)
+ [CVE-2024-20993](https://nvd.nist.gov/vuln/detail/CVE-2024-20993)
+ [CVE-2024-20998](https://nvd.nist.gov/vuln/detail/CVE-2024-20998)
+ [CVE-2024-21009](https://nvd.nist.gov/vuln/detail/CVE-2024-21009)
+ [CVE-2024-21054](https://nvd.nist.gov/vuln/detail/CVE-2024-21054)
+ [CVE-2024-21055](https://nvd.nist.gov/vuln/detail/CVE-2024-21055)
+ [CVE-2024-21057](https://nvd.nist.gov/vuln/detail/CVE-2024-21057)
+ [CVE-2024-21062](https://nvd.nist.gov/vuln/detail/CVE-2024-21062)
+ [CVE-2024-21008](https://nvd.nist.gov/vuln/detail/CVE-2024-21008)
+ [CVE-2024-21013](https://nvd.nist.gov/vuln/detail/CVE-2024-21013)
+ [CVE-2024-21047](https://nvd.nist.gov/vuln/detail/CVE-2024-21047)
+ [CVE-2024-21087](https://nvd.nist.gov/vuln/detail/CVE-2024-21087)
+ [CVE-2024-21096](https://nvd.nist.gov/vuln/detail/CVE-2024-21096)

### RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240408
<a name="mysql-extended-support-releases-version-5.7.44-20240408"></a>

RDS Extended Support untuk RDS untuk MySQL versi 5.7.44-RDS.20240408 tersedia.

Rilis ini berisi tambalan untuk yang berikut: CVEs
+ [CVE-2024-20963](https://nvd.nist.gov/vuln/detail/CVE-2024-20963)

## Menggunakan lingkungan Pratinjau Basis Data
<a name="mysql-working-with-the-database-preview-environment"></a>

Pada Juli 2023, Oracle mengumumkan model rilis baru untuk MySQL. Model ini mencakup dua jenis rilis: Rilis Inovasi dan rilis LTS. Amazon RDS membuat Rilis Inovasi MySQL tersedia di lingkungan Pratinjau RDS. Untuk mempelajari lebih lanjut tentang rilis Inovasi MySQL, lihat [Introducing MySQL Innovation and Long-Term Support (LTS) versions](https://blogs.oracle.com/mysql/post/introducing-mysql-innovation-and-longterm-support-lts-versions).

Instans DB RDS for MySQL di lingkungan Pratinjau Basis Data secara fungsional mirip dengan instans DB RDS for MySQL lainnya. Namun, Anda tidak dapat menggunakan Lingkungan Pratinjau Basis Data untuk beban kerja produksi.

Lingkungan Pratinjau memiliki batasan berikut ini:
+ Amazon RDS menghapus semua instans DB 60 hari setelah Anda membuatnya, termasuk semua cadangan dan snapshot.
+ Anda hanya dapat menggunakan penyimpanan SSD Tujuan Umum dan IOPS yang Tersedia. 
+ Anda tidak bisa mendapatkan Dukungan bantuan dari instans DB. [Sebagai gantinya, Anda dapat memposting pertanyaan Anda ke komunitas Tanya Jawab yang AWS dikelola, Re:post.AWS](https://repost.aws/tags/TAsibBK6ZeQYihN9as4S_psg/amazon-relational-database-service)
+ Anda tidak dapat menyalin snapshot instans DB ke lingkungan produksi.

Opsi berikut didukung oleh pratinjau.
+ Anda dapat membuat instans DB menggunakan kelas instans DB db.m6i, db.r6i, db.m6g, db.m5, db.t3, db.r6g, dan db.r5. Untuk informasi selengkapnya tentang kelas instans RDS, lihat [ DB](Concepts.DBInstanceClass.md). 
+ Anda dapat menggunakan deployment AZ tunggal dan multi-AZ.
+ Anda dapat menggunakan fungsi dump dan load MySQL standar untuk mengekspor basis data dari atau mengimpor basis data ke lingkungan Pratinjau Basis Data.

### Fitur yang tidak didukung di lingkungan Pratinjau Basis Data
<a name="mysql-preview-environment-exclusions"></a>

Fitur berikut ini tidak tersedia di lingkungan Pratinjau Basis Data:
+ Salinan snapshot lintas Wilayah
+ Replika baca lintas Wilayah
+ Proksi RDS

### Membuat instans DB baru di Lingkungan Pratinjau Basis Data
<a name="mysql-create-db-instance-in-preview-environment"></a>

Anda dapat membuat instans DB di lingkungan Pratinjau Database menggunakan Konsol Manajemen AWS, AWS CLI, atau RDS API.

#### Konsol
<a name="mysql-create-db-instance-in-preview-environment.CON"></a>

**Untuk membuat instans DB di Lingkungan Pratinjau Basis Data**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Pilih **Dasbor** dari panel navigasi.

1. Di halaman **Dasbor**, cari bagian **Lingkungan Pratinjau Basis Data**, seperti yang ditunjukkan pada gambar berikut.  
![\[Bagian Lingkungan Pratinjau Basis Data dengan tautan di konsol Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/preview-environment-dashboard.png)

   Anda dapat langsung menuju [Lingkungan pratinjau basis data](https://us-east-2.console.aws.amazon.com/rds-preview/home?region=us-east-2#). Sebelum dapat melanjutkan, Anda harus mengakui dan menerima batasan.   
![\[Dialog Perjanjian Layanan Lingkungan Pratinjau Database untuk mengakui batasan.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/preview-environment-console.png)

1. Untuk membuat instans DB RDS for MySQL, ikuti proses yang sama seperti untuk membuat instans DB Amazon RDS apa pun. Untuk informasi lebih lanjut, lihat prosedur [Konsol](USER_CreateDBInstance.md#USER_CreateDBInstance.CON) di [Membuat instans DB](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

#### AWS CLI
<a name="mysql-create-db-instance-in-preview-environment.CLI"></a>

Untuk membuat instans DB di Lingkungan Pratinjau Basis Data menggunakan AWS CLI, gunakan titik akhir berikut.

```
rds-preview.us-east-2.amazonaws.com
```

Untuk membuat instans DB RDS for MySQL, ikuti proses yang sama seperti untuk membuat instans DB Amazon RDS apa pun. Untuk informasi lebih lanjut, lihat prosedur [AWS CLI](USER_CreateDBInstance.md#USER_CreateDBInstance.CLI) di [Membuat instans DB](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

#### API RDS
<a name="mysql-create-db-instance-in-preview-environment.API"></a>

Untuk membuat instans DB di Lingkungan Pratinjau Basis Data menggunakan API RDS, gunakan titik akhir berikut.

```
rds-preview.us-east-2.amazonaws.com
```

Untuk membuat instans DB RDS for MySQL, ikuti proses yang sama seperti untuk membuat instans DB Amazon RDS apa pun. Untuk informasi lebih lanjut, lihat prosedur [API RDS](USER_CreateDBInstance.md#USER_CreateDBInstance.API) di [Membuat instans DB](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

## MySQL versi 9.5 di lingkungan Pratinjau Database
<a name="mysql-preview-environment-version-9-5"></a>

MySQL versi 9.5 sekarang tersedia di lingkungan Amazon RDS Database Preview. MySQL versi 9.5 berisi beberapa perbaikan yang dijelaskan dalam [Perubahan](https://dev.mysql.com/doc/relnotes/mysql/9.5/en/news-9-5-0.html) di MySQL 9.5.0.

Untuk informasi tentang Lingkungan Pratinjau Basis Data, lihat [Menggunakan lingkungan Pratinjau Basis Data](#mysql-working-with-the-database-preview-environment). Untuk mengakses Lingkungan Pratinjau dari konsol, pilih [https://console.aws.amazon.com/rds-preview/](https://console.aws.amazon.com/rds-preview/).

## MySQL versi 9.4 di lingkungan Pratinjau Database
<a name="mysql-preview-environment-version-9-4"></a>

MySQL versi 9.4 sekarang tersedia di lingkungan Amazon RDS Database Preview. MySQL versi 9.4 berisi beberapa perbaikan yang dijelaskan dalam [Perubahan](https://dev.mysql.com/doc/relnotes/mysql/9.4/en/news-9-4-0.html) di MySQL 9.4.0.

Untuk informasi tentang Lingkungan Pratinjau Basis Data, lihat [Menggunakan lingkungan Pratinjau Basis Data](#mysql-working-with-the-database-preview-environment). Untuk mengakses Lingkungan Pratinjau dari konsol, pilih [https://console.aws.amazon.com/rds-preview/](https://console.aws.amazon.com/rds-preview/).

## MySQL versi 9.3 di lingkungan Pratinjau Database
<a name="mysql-preview-environment-version-9-3"></a>

MySQL versi 9.3 sekarang tersedia di lingkungan Amazon RDS Database Preview. MySQL versi 9.3 berisi beberapa perbaikan yang dijelaskan dalam [Perubahan](https://dev.mysql.com/doc/relnotes/mysql/9.3/en/news-9-3-0.html) di MySQL 9.3.0.

Untuk informasi tentang Lingkungan Pratinjau Basis Data, lihat [Menggunakan lingkungan Pratinjau Basis Data](#mysql-working-with-the-database-preview-environment). Untuk mengakses Lingkungan Pratinjau dari konsol, pilih [https://console.aws.amazon.com/rds-preview/](https://console.aws.amazon.com/rds-preview/).

## Versi-versi yang dihentikan untuk Amazon RDS for MySQL
<a name="MySQL.Concepts.DeprecatedVersions"></a>

Amazon RDS for MySQL versi 5.1, 5.5, dan 5.6 telah dihentikan.

Amazon RDS for MySQL versi 9.1 dan 9.2 tidak digunakan lagi di lingkungan Pratinjau Database.

[Untuk informasi tentang kebijakan penghentian Amazon RDS untuk MySQL, lihat Amazon RDS. FAQs](https://aws.amazon.com/rds/faqs/)

# Menghubungkan ke instans MySQL DB Anda
<a name="USER_ConnectToInstance"></a>

 Sebelum Anda dapat terhubung ke instans DB yang menjalankan mesin basis data MySQL, Anda harus membuat instans DB. Untuk mengetahui informasinya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). Setelah Amazon RDS menyediakan instans DB, Anda dapat menggunakan aplikasi klien MySQL standar atau utilitas guna terhubung ke instans tersebut. Dalam string koneksi, Anda menentukan alamat DNS dari titik akhir instans DB sebagai parameter host, dan menentukan nomor port dari titik akhir instans DB sebagai parameter port. 

Untuk mengautentikasi instans RDS DB Anda, Anda dapat menggunakan salah satu metode otentikasi untuk otentikasi database MySQL dan (IAM): AWS Identity and Access Management 
+ Untuk mempelajari cara mengautentikasi ke MySQL menggunakan salah satu metode autentikasi untuk MySQL, lihat [Authentication method](https://dev.mysql.com/doc/internals/en/authentication-method.html) dalam dokumentasi MySQL.
+ Untuk mempelajari cara mengautentikasi ke MySQL menggunakan autentikasi basis data IAM, lihat [Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL](UsingWithRDS.IAMDBAuth.md).

Anda dapat terhubung ke instans DB MySQL dengan menggunakan alat seperti alat baris perintah MySQL. Untuk mengetahui informasi selengkapnya tentang cara menggunakan klien baris perintah MySQL, lihat [mysql - the MySQL command-line client](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) di dokumentasi MySQL. Satu aplikasi berbasis GUI yang dapat Anda gunakan untuk terhubung adalah MySQL Workbench. Untuk mengetahui informasi selengkapnya, lihat halaman [Mengunduh MySQL Workbench](http://dev.mysql.com/downloads/workbench/). [Untuk mengetahui informasi tentang cara menginstal MySQL (termasuk klien baris perintah MySQL), lihat Menginstal dan meningkatkan MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html). 

Untuk terhubung ke instans DB dari luar Amazon VPC-nya, instans DB harus dapat diakses secara publik, akses harus diberikan menggunakan aturan masuk grup keamanan instans DB, dan persyaratan lain harus dipenuhi. Untuk mengetahui informasinya, lihat [Tidak dapat terhubung ke instans DB Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).

Anda dapat menggunakan enkripsi Secure Sockets Layer (SSL) atau Keamanan Lapisan Pengangkutan (TLS) pada koneksi ke instans DB MySQL. Untuk informasi, lihat [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md). Jika Anda menggunakan otentikasi database AWS Identity and Access Management (IAM), pastikan untuk menggunakan koneksi SSL/TLS. Untuk informasi, lihat [Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL](UsingWithRDS.IAMDBAuth.md). 

Anda juga dapat terhubung ke instans DB dari server web. Untuk mengetahui informasi selengkapnya, lihat [Tutorial: Membuat server web dan instans DB Amazon RDS](TUT_WebAppWithRDS.md).

**catatan**  
Untuk mengetahui informasi tentang cara menghubungkan ke instans DB MariaDB, lihat [Menghubungkan ke instans MariaDB DB Anda](USER_ConnectToMariaDBInstance.md).

Untuk menemukan dan terhubung ke instans RDS untuk MySQL DB, lihat topik berikut.

**Topics**
+ [Menemukan informasi koneksi untuk RDS untuk MySQL DB instance](USER_ConnectToInstance.EndpointAndPort.md)
+ [Menginstal klien baris SQL perintah saya](mysql-install-cli.md)
+ [Menghubungkan dari klien SQL baris perintah Saya (tidak terenkripsi)](USER_ConnectToInstance.CLI.md)
+ [Menghubungkan dari SQL Meja Kerja Saya](USER_ConnectToInstance.MySQLWorkbench.md)
+ [Menghubungkan ke RDS untuk MySQL dengan Driver AWS JDBC, Driver AWS Python, dan Driver ODBC untuk MySQL AWS](MySQL.Connecting.Drivers.md)
+ [Memecahkan masalah koneksi ke instans DB MySQL Anda](USER_ConnectToInstance.Troubleshooting.md)

# Menemukan informasi koneksi untuk RDS untuk MySQL DB instance
<a name="USER_ConnectToInstance.EndpointAndPort"></a>

Informasi koneksi untuk instans DB mencakup titik akhir, port, dan pengguna basis datanya yang valid, seperti pengguna utama. Sebagai contoh, anggaplah bahwa nilai titik akhir adalah `mydb.123456789012.us-east-1.rds.amazonaws.com`. Dalam hal ini, nilai port adalah `3306`, dan pengguna basis data adalah `admin`. Dengan informasi ini, Anda menentukan nilai berikut dalam string koneksi:
+ Untuk host atau nama host, atau nama DNS, tentukan `mydb.123456789012.us-east-1.rds.amazonaws.com`.
+ Untuk port, tentukan `3306`.
+ Untuk pengguna, tentukan `admin`.

Untuk terhubung ke instans DB, gunakan klien apa saja untuk mesin DB MySQL. Misalnya, Anda dapat menggunakan klien baris perintah MySQL atau MySQL Workbench.

Untuk menemukan informasi koneksi untuk instans DB, Anda dapat menggunakan, AWS CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah Konsol Manajemen AWS, atau DBInstances operasi Amazon RDS API [Describe](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) untuk mencantumkan detailnya. 

## Konsol
<a name="USER_ConnectToInstance.EndpointAndPort.Console"></a>

**Untuk menemukan informasi koneksi untuk instans DB di Konsol Manajemen AWS**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis data** untuk menampilkan daftar instans DB Anda.

1. Pilih nama instans DB MySQL untuk menampilkan detailnya.

1. Di tab **Konektivitas & keamanan**, salin titik akhir. Selain itu, catat nomor port. Anda memerlukan titik akhir dan nomor port untuk terhubung ke instans DB.   
![\[Titik akhir dan port instans DB di konsol Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/endpoint-port.png)

1. Jika Anda perlu menemukan nama pengguna utama, pilih tab **Konfigurasi** dan lihat nilai **Nama pengguna utama**.

## AWS CLI
<a name="USER_ConnectToInstance.EndpointAndPort.CLI"></a>

Untuk menemukan informasi koneksi untuk instance MySQL DB dengan menggunakan, jalankan AWS CLI perintah. [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) Dalam panggilan tersebut, buat kueri untuk ID instans DB, titik akhir, port, dan nama pengguna utama.

Untuk Linux, macOS, atau Unix:

```
aws rds describe-db-instances \
  --filters "Name=engine,Values=mysql" \
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

Untuk Windows:

```
aws rds describe-db-instances ^
  --filters "Name=engine,Values=mysql" ^
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

Output Anda akan terlihat seperti berikut ini.

```
[
    [
        "mydb1",
        "mydb1.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ],
    [
        "mydb2",
        "mydb2.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ]
]
```

## API RDS
<a name="USER_ConnectToInstance.EndpointAndPort.API"></a>

Untuk menemukan informasi koneksi untuk instans DB dengan menggunakan Amazon RDS API, panggil DBInstances operasi [Deskripsikan](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html). Dalam output, temukan nilai untuk alamat titik akhir, port titik akhir, dan nama pengguna utama. 

# Menginstal klien baris SQL perintah saya
<a name="mysql-install-cli"></a>

Sebagian besar distribusi Linux menyertakan klien MariaDB, bukan klien Oracle My. SQL Untuk menginstal klien SQL baris perintah saya di Amazon Linux 2023, jalankan perintah berikut:

```
sudo dnf install mariadb105
```

Untuk menginstal klien SQL baris perintah saya di Amazon Linux 2, jalankan perintah berikut:

```
sudo yum install mariadb
```

Untuk menginstal klien SQL baris perintah Saya di sebagian besar distribusi Linux DEB berbasis, jalankan perintah berikut:

```
apt-get install mariadb-client
```

Untuk memeriksa versi klien SQL baris perintah Saya, jalankan perintah berikut:

```
mysql --version
```

Untuk membaca SQL dokumentasi Saya untuk versi klien Anda saat ini, jalankan perintah berikut:

```
man mysql
```

# Menghubungkan dari klien SQL baris perintah Saya (tidak terenkripsi)
<a name="USER_ConnectToInstance.CLI"></a>

**penting**  
Hanya gunakan SQL koneksi Saya yang tidak terenkripsi ketika klien dan server berada dalam keadaan yang sama VPC dan jaringan dipercaya. Untuk informasi tentang cara menggunakan koneksi terenkripsi, lihat [Menyambung ke instans MySQL DB Anda di Amazon RDS dengan SSL/TLS dari klien baris perintah MySQL (dienkripsi)](USER_ConnectToInstanceSSL.CLI.md).

Untuk terhubung ke instans DB menggunakan klien SQL baris perintah Saya, masukkan perintah berikut pada prompt perintah. Untuk parameter -h, ganti DNS nama (titik akhir) untuk instance DB Anda. Untuk parameter -P, lakukan penggantian pada port untuk instans DB Anda. Untuk parameter -u, lakukan penggantian nama pengguna dari pengguna basis data yang valid, seperti pengguna master. Masukkan kata sandi pengguna master saat diminta. 

```
mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p
```

Setelah memasukkan kata sandi untuk pengguna, Anda akan melihat output yang terlihat seperti berikut ini.

```
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9738
Server version: 8.0.28 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
```

# Menghubungkan dari SQL Meja Kerja Saya
<a name="USER_ConnectToInstance.MySQLWorkbench"></a>

**Untuk terhubung dari SQL Meja Kerja Saya**

1. Unduh dan instal SQL Meja Kerja Saya di [Unduh Meja SQL Kerja Saya](http://dev.mysql.com/downloads/workbench/).

1. Buka SQL Meja Kerja Saya.  
![\[Layar Selamat Datang di SQL Meja Kerja Saya.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/mysql-workbench-main.png)

1. Dari **Basis Data**, pilih **Kelola Koneksi**.

1. Di jendela **Kelola Koneksi Server**, pilih **Baru**.

1. Di jendela **Hubungkan ke Basis Data**, masukkan informasi berikut:
   + **Koneksi Tersimpan** – Masukkan nama untuk koneksi, seperti **MyDB**.
   + **Nama Host** – Masukkan titik akhir instans DB.
   + **Port** – Masukkan port yang digunakan oleh instans DB.
   + **Nama Pengguna** – Masukkan nama pengguna dari pengguna basis data yang valid, seperti pengguna master.
   + **Kata Sandi** – Atau, pilih **Simpan di Vault** lalu masukkan dan simpan kata sandi untuk pengguna.

   Jendelanya akan terlihat seperti berikut:  
![\[Jendela Kelola Koneksi Server di SQL Meja Kerja Saya.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/mysql-workbench-connect.png)

   Anda dapat menggunakan fitur My SQL Workbench untuk menyesuaikan koneksi. Misalnya, Anda dapat menggunakan **SSL**tab untuk mengkonfigurasiSSL/TLSkoneksi. Untuk informasi tentang menggunakan SQL Meja Kerja Saya, lihat dokumentasi [SQLMeja Kerja Saya](https://dev.mysql.com/doc/workbench/en/). Mengenkripsi koneksi klien ke instans SQL DB Saya denganSSL/TLS, lihat. [Mengenkripsi koneksi klien dengan instans SSL/TLS MySQL DB ke Amazon RDS](mysql-ssl-connections.md)

1. Atau, pilih **Tes Koneksi** untuk mengonfirmasi bahwa koneksi ke instans DB berhasil.

1. Pilih **Tutup**.

1. Dari **Basis Data**, pilih **Hubungkan ke Basis Data**.

1. Dari **Koneksi Tersimpan**, pilih koneksi Anda.

1. Pilih **OKE**.

# Menghubungkan ke RDS untuk MySQL dengan Driver AWS JDBC, Driver AWS Python, dan Driver ODBC untuk MySQL AWS
<a name="MySQL.Connecting.Drivers"></a>

Connect ke RDS untuk instance MySQL DB dengan Driver AWS JDBC, Driver AWS Python, dan Driver ODBC untuk MySQL. AWS Untuk informasi selengkapnya, lihat topik berikut.

**Topics**
+ [Menghubungkan ke RDS untuk MySQL dengan Amazon Web Services () JDBC Driver AWS](#MySQL.Connecting.JDBCDriver)
+ [Menghubungkan ke RDS untuk MySQL dengan Driver Python Amazon Web Services ()AWS](#MySQL.Connecting.PythonDriver)
+ [Menghubungkan ke RDS untuk MySQL dengan Amazon Web Services AWS() ODBC Driver untuk MySQL](#USER_ConnectToInstance.ODBCDriverMySQL)

## Menghubungkan ke RDS untuk MySQL dengan Amazon Web Services () JDBC Driver AWS
<a name="MySQL.Connecting.JDBCDriver"></a>

Amazon Web Services (AWS) JDBC Driver dirancang sebagai pembungkus JDBC tingkat lanjut. Pembungkus ini melengkapi dan memperluas fungsionalitas driver JDBC yang ada. Driver ini kompatibel dengan driver Connector/J MySQL komunitas dan driver MariaDB komunitas. Connector/J 

Untuk menginstal Driver AWS JDBC, tambahkan file AWS JDBC Driver .jar (terletak di aplikasi`CLASSPATH`), dan simpan referensi ke driver komunitas masing-masing. Perbarui awalan URL koneksi masing-masing sebagai berikut:
+ `jdbc:mysql://` untuk `jdbc:aws-wrapper:mysql://`
+ `jdbc:mariadb://` untuk `jdbc:aws-wrapper:mariadb://`

Untuk informasi selengkapnya tentang Driver AWS JDBC dan petunjuk lengkap untuk menggunakannya, lihat repositori [Amazon Web Services (AWS) JDBC Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper). GitHub 

## Menghubungkan ke RDS untuk MySQL dengan Driver Python Amazon Web Services ()AWS
<a name="MySQL.Connecting.PythonDriver"></a>

Driver Python Amazon Web Services (AWS) dirancang sebagai pembungkus Python tingkat lanjut. Pembungkus ini melengkapi dan memperluas fungsionalitas driver Psycopg open-source. Driver AWS Python mendukung Python versi 3.8 dan lebih tinggi. Anda dapat menginstal `aws-advanced-python-wrapper` paket menggunakan `pip` perintah, bersama dengan paket `psycopg` open-source.

Untuk informasi selengkapnya tentang Driver AWS Python dan petunjuk lengkap untuk menggunakannya, lihat repositori [Amazon Web Services ()AWS Python](https://github.com/awslabs/aws-advanced-python-wrapper) Driver. GitHub 

## Menghubungkan ke RDS untuk MySQL dengan Amazon Web Services AWS() ODBC Driver untuk MySQL
<a name="USER_ConnectToInstance.ODBCDriverMySQL"></a>

Driver AWS ODBC untuk MySQL adalah driver klien yang dirancang untuk ketersediaan RDS yang tinggi untuk MySQL. Driver dapat ada di samping driver Connector/ODBC MySQL dan kompatibel dengan alur kerja yang sama.

Untuk informasi selengkapnya tentang Driver AWS ODBC untuk MySQL dan petunjuk lengkap untuk menginstal dan menggunakannya, lihat Driver [Amazon Web Services AWS() ODBC](https://github.com/aws/aws-mysql-odbc) untuk repositori MySQL. GitHub 

# Memecahkan masalah koneksi ke instans DB MySQL Anda
<a name="USER_ConnectToInstance.Troubleshooting"></a>

Dua penyebab umum kegagalan koneksi ke instans DB baru adalah:
+ Instans DB dibuat menggunakan grup keamanan yang tidak mengotorisasi koneksi dari perangkat atau instans Amazon EC2 tempat aplikasi atau utilitas MySQL berjalan. Instans DB harus memiliki grup keamanan VPC yang mengotorisasi koneksi. Untuk mengetahui informasi selengkapnya, lihat [Amazon VPC dan RDSAmazon ](USER_VPC.md).

  Anda dapat menambahkan atau mengedit aturan masuk di grup keamanan. Untuk **Sumber**, pilih **IP Saya**. Pilihan ini akan mengizinkan akses ke instans DB dari alamat IP yang terdeteksi di browser Anda.
+ Instans DB dibuat menggunakan port default 3306, dan perusahaan Anda memiliki aturan firewall yang memblokir koneksi ke port tersebut dari perangkat di jaringan perusahaan Anda. Untuk memperbaiki kegagalan ini, buat ulang instans dengan port yang berbeda.

Untuk mengetahui informasi selengkapnya tentang masalah koneksi, lihat [Tidak dapat terhubung ke instans DB Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).

# Mengamankan koneksi instans DB MySQL
<a name="securing-mysql-connections"></a>

Anda dapat menerapkan langkah-langkah keamanan yang kuat untuk melindungi instans MySQL DB dari akses tidak sah dan potensi ancaman. Grup keamanan, enkripsi SSL/TLS, dan otentikasi database IAM bekerja sama untuk membuat beberapa lapisan keamanan koneksi untuk instance MySQL DB Anda. Kontrol keamanan ini membantu Anda memenuhi persyaratan kepatuhan, mencegah pelanggaran data, dan menjaga saluran komunikasi yang aman antara aplikasi dan database. Anda dapat mengamankan instans MySQL DB Anda dengan mengenkripsi data dalam perjalanan, membatasi akses ke rentang IP tertentu, dan mengelola otentikasi pengguna melalui peran IAM daripada kata sandi database.

Keamanan untuk instans DB MySQL dikelola pada tiga tingkat:
+ AWS Identity and Access Management mengontrol siapa yang dapat melakukan tindakan manajemen Amazon RDS pada instans DB. Saat Anda terhubung AWS menggunakan kredensyal IAM, akun IAM Anda harus memiliki kebijakan IAM yang memberikan izin yang diperlukan untuk melakukan operasi pengelolaan Amazon RDS. Untuk informasi selengkapnya, lihat [Manajemen identitas dan akses untuk Amazon RDS](UsingWithRDS.IAM.md). 
+ Saat membuat instans DB, Anda menggunakan grup keamanan VPC untuk mengontrol perangkat dan EC2 instans Amazon mana yang dapat membuka koneksi ke titik akhir dan port instans DB. Koneksi tersebut dapat dilakukan menggunakan Secure Sockets Layer (SSL) dan Keamanan Lapisan Pengangkutan (TLS). Selain itu, aturan firewall di perusahaan Anda dapat mengendalikan apakah perangkat yang berjalan di perusahaan Anda boleh membuka koneksi dengan instans basis data.
+ Untuk mengautentikasi login dan izin untuk instance MySQL DB, Anda dapat mengambil salah satu dari pendekatan berikut, atau kombinasi dari mereka: 
  + Anda dapat menggunakan pendekatan yang sama seperti instans MySQL yang berdiri sendiri. Perintah seperti `CREATE USER`, `RENAME USER`, `GRANT`, `REVOKE`, dan `SET PASSWORD` berfungsi seperti halnya dalam basis data on-premise, termasuk memodifikasi langsung tabel skema basis data. Namun, memodifikasi tabel skema database secara langsung bukanlah praktik terbaik, dan mulai dari RDS untuk MySQL versi 8.0.36, itu tidak didukung. Untuk informasi, lihat [Access control and account management](https://dev.mysql.com/doc/refman/8.0/en/access-control.html) dalam dokumentasi MySQL. 
  + Anda juga dapat menggunakan autentikasi basis data IAM. Dengan autentikasi basis data IAM, Anda mengautentikasi instans DB Anda menggunakan pengguna IAM atau peran IAM dan token autentikasi. *Token autentikasi* adalah nilai unik yang dihasilkan dengan menggunakan proses penandatanganan Signature Versi 4. Dengan menggunakan autentikasi basis data IAM, Anda dapat menggunakan kredensial yang sama untuk mengontrol akses ke sumber daya AWS dan basis data Anda. Untuk informasi selengkapnya, lihat [Autentikasi basis data IAMuntuk MariaDB, MySQL, dan PostgreSQL](UsingWithRDS.IAMDBAuth.md). 
  + Opsi lain adalah autentikasi Kerberos untuk RDS for MySQL. Instans DB bekerja dengan AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) untuk mengaktifkan otentikasi Kerberos. Saat pengguna mengautentikasi ke instans basis data MySQL yang bergabung dengan domain yang memercayai, permintaan autentikasi diteruskan. Permintaan yang diteruskan masuk ke direktori domain yang Anda buat dengan. Directory Service Untuk informasi selengkapnya, lihat [Menggunakan Kerberos otentikasi untuk Amazon RDS for MySQL](mysql-kerberos.md).

 Saat Anda membuat instans DB Amazon RDS, pengguna master memiliki hak istimewa default berikut:


| Versi mesin | Hak akses sistem | Peran basis data | 
| --- | --- | --- | 
|  RDS untuk MySQL versi 8.4.3 dan lebih tinggi  |  `GRANT SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `RELOAD`, `PROCESS`, `REFERENCES`,`INDEX`, `ALTER`, `SHOW DATABASES`, `CREATE TEMPORARY TABLES`, `LOCK TABLES`, `EXECUTE`, `REPLICATION SLAVE`, `REPLICATION CLIENT`, `CREATE VIEW`, `SHOW VIEW`, `CREATE ROUTINE`, `ALTER ROUTINE`, `CREATE USER`, `EVENT`, `TRIGGER`, `CREATE ROLE`, `DROP ROLE`, `APPLICATION_PASSWORD_ADMIN`, `FLUSH_OPTIMIZER_COSTS`, `FLUSH_PRIVILEGES`, `FLUSH_STATUS`, `FLUSH_TABLES`, `FLUSH_USER_RESOURCES`, `ROLE_ADMIN`, `SENSITIVE_VARIABLES_OBSERVER`, `SESSION_VARIABLES_ADMIN`, `SET_ANY_DEFINER`, `SHOW_ROUTINE`, `XA_RECOVER_ADMIN`  |  `rds_superuser_role` Untuk informasi selengkapnya tentang `rds_superuser_role`, lihat [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md).  | 
|  RDS untuk MySQL versi 8.0.36 dan lebih tinggi  |  `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `RELOAD`, `PROCESS`, `REFERENCES`, `INDEX`, `ALTER`, `SHOW DATABASES`, `CREATE TEMPORARY TABLES`, `LOCK TABLES`, `EXECUTE`, `REPLICATION SLAVE`, `REPLICATION CLIENT`, `CREATE VIEW`, `SHOW VIEW`, `CREATE ROUTINE`, `ALTER ROUTINE`, `CREATE USER`, `EVENT`, `TRIGGER`, `CREATE ROLE`, `DROP ROLE`, `APPLICATION_PASSWORD_ADMIN`, `ROLE_ADMIN`, `SET_USER_ID`, `XA_RECOVER_ADMIN`  |  `rds_superuser_role` Untuk informasi selengkapnya tentang `rds_superuser_role`, lihat [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md).  | 
|  RDS untuk versi MySQL lebih rendah dari 8.0.36  |  `SELECT`, `INSERT`, `UPDATE`, `DELETE`, `CREATE`, `DROP`, `RELOAD`, `PROCESS`, `REFERENCES`, `INDEX`, `ALTER`, `SHOW DATABASES`, `CREATE TEMPORARY TABLES`, `LOCK TABLES`, `EXECUTE`, `REPLICATION CLIENT`, `CREATE VIEW`, `SHOW VIEW`, `CREATE ROUTINE`, `ALTER ROUTINE`, `CREATE USER`, `EVENT`, `TRIGGER`, `REPLICATION SLAVE`  |  Tidak ada  | 

**catatan**  
Meskipun pengguna master pada instans DB memungkinkan untuk dihapus, tindakan ini tidak disarankan. Untuk membuat ulang pengguna master, gunakan operasi [Modify DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API atau jalankan [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI perintah dan tentukan kata sandi pengguna master baru dengan parameter yang sesuai. Jika tidak ada dalam instans, pengguna master akan dibuat dengan kata sandi yang ditentukan. 

Untuk menyediakan layanan pengelolaan bagi setiap instans basis data, pengguna `rdsadmin` dibuat saat instans basis data dibuat. Upaya untuk menghapus, mengganti nama, mengubah kata sandi, atau mengubah hak istimewa untuk akun `rdsadmin` akan mengakibatkan kesalahan. 

Untuk memungkinkan manajemen instans DB, perintah `kill` dan `kill_query` standar telah dibatasi. Perintah Amazon RDS `rds_kill` dan `rds_kill_query` diberikan agar Anda dapat mengakhiri sesi pengguna atau kueri pada instans DB. 

# Validasi kata sandi untuk RDS untuk MySQL
<a name="MySQL.Concepts.PasswordValidationPlugin"></a>

MySQL menyediakan plugin `validate_password` untuk keamanan yang lebih baik. Plugin tersebut memberlakukan kebijakan kata sandi menggunakan parameter di dalam grup parameter DB untuk instans DB MySQL Anda. Plugin ini didukung untuk instans DB yang menjalankan MySQL versi 5.7, 8.0, dan 8.4. Untuk informasi lebih lanjut tentang plugin `validate_password`, lihat [The Password Validation Plugin](https://dev.mysql.com/doc/refman/5.7/en/validate-password.html) di dalam dokumentasi MySQL. 

**Untuk mengaktifkan `validate_password` plugin untuk instance MySQL DB**

1. Buat koneksi ke instans DB MySQL dan jalankan perintah berikut.

   ```
   INSTALL PLUGIN validate_password SONAME 'validate_password.so';                    
   ```

1. Konfigurasikan parameter untuk plugin di dalam grup parameter DB yang digunakan oleh instans DB.

   Untuk informasi selengkapnya tentang parameter, lihat [Opsi Plugin Validasi Kata Sandi dan Variabel](https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html) dalam dokumentasi MySQL.

   Untuk informasi selengkapnya tentang cara memodifikasi parameter instans DB, lihat [](USER_WorkingWithParamGroups.Modifying.md).

1. Mulai ulang instans DB.

Setelah mengaktifkan `validate_password` plugin, setel ulang kata sandi yang ada untuk mematuhi kebijakan validasi baru Anda.

Instans MySQL DB Anda menangani validasi kata sandi untuk Amazon RDS. Untuk mengubah kata sandi, Anda terlebih dahulu mengirimkan permintaan pembaruan kata sandi melalui AWS Management Console, perintah `modify-db-instance` CLI, atau operasi `ModifyDBInstance` API. RDS awalnya menerima permintaan Anda, meskipun kata sandi tidak memenuhi kebijakan Anda. RDS kemudian memproses permintaan secara asinkron. Ini memperbarui kata sandi di instance MySQL DB Anda hanya jika kata sandi memenuhi kebijakan yang Anda tetapkan. Jika kata sandi tidak memenuhi kebijakan ini, RDS menyimpan kata sandi yang ada dan mencatat peristiwa kesalahan.

```
    Unable to reset your password. Error information: Password failed to meet validation rules.            
```

Untuk informasi lebih lanjut tentang peristiwa Amazon RDS, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).

# Mengenkripsi koneksi klien dengan instans SSL/TLS MySQL DB ke Amazon RDS
<a name="mysql-ssl-connections"></a>

Lapisan Soket Aman (Secure Sockets Layer, SSL) adalah protokol standar industri untuk mengamankan koneksi jaringan antara klien dan server. Setelah SSL versi 3.0, namanya diubah menjadi Keamanan Lapisan Pengangkutan (TLS). Amazon RDS mendukung SSL/TLS enkripsi untuk instans MySQL DB. Menggunakan SSL/TLS, you can encrypt a connection between your application client and your MySQL DB instance. SSL/TLS dukungan tersedia di semua Wilayah AWS untuk MySQL.

Dengan Amazon RDS, Anda dapat mengamankan data dalam perjalanan dengan mengenkripsi koneksi klien ke instans MySQL DB dengan enkripsi untuk instans MySQL DB di Amazon RDS. SSL/TLS, requiring SSL/TLS for all connections to a MySQL DB instance, and connecting from the MySQL command-line client with SSL/TLS (encrypted). The following sections provide guidance on configuring and utilizing SSL/TLS

**Topics**
+ [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md)
+ [SSL/TLS Memerlukan akun pengguna tertentu ke instans MySQL DB di Amazon RDS](mysql-ssl-connections.require-ssl-users.md)
+ [SSL/TLS Memerlukan semua koneksi ke instans MySQL DB di Amazon RDS](mysql-ssl-connections.require-ssl.md)
+ [Menyambung ke instans MySQL DB Anda di Amazon RDS dengan SSL/TLS dari klien baris perintah MySQL (dienkripsi)](USER_ConnectToInstanceSSL.CLI.md)

# Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS
<a name="MySQL.Concepts.SSLSupport"></a>

Amazon RDS membuat SSL/TLS sertifikat dan menginstal sertifikat pada instans DB saat Amazon RDS menyediakan instans. Sertifikat ini ditandatangani oleh otoritas sertifikat. SSL/TLS Sertifikat menyertakan titik akhir instans DB sebagai Nama Umum (CN) untuk SSL/TLS sertifikat agar tidak terkena serangan spoofing. 

 SSL/TLS Sertifikat yang dibuat oleh Amazon RDS adalah entitas root tepercaya dan harus berfungsi dalam banyak kasus, tetapi mungkin gagal jika aplikasi Anda tidak menerima rantai sertifikat. Jika aplikasi Anda tidak menerima rantai sertifikat, coba gunakan sertifikat perantara untuk terhubung ke sertifikat Anda Wilayah AWS. Misalnya, Anda harus menggunakan sertifikat perantara untuk terhubung ke AWS GovCloud (US) Wilayah dengan SSL/TLS.

Untuk informasi tentang mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md). Untuk informasi selengkapnya tentang menggunakan SSL/TLS MySQL, lihat. [Memperbarui aplikasi untuk terhubung ke instance MySQL DB menggunakan sertifikat baru SSL/TLS](ssl-certificate-rotation-mysql.md)

Untuk MySQL versi 8.0 dan yang lebih rendah, Amazon RDS for MySQL menggunakan OpenSSL untuk koneksi aman. Untuk MySQL versi 8.4 dan yang lebih tinggi, Amazon RDS for MySQL menggunakan. AWS-LC Dukungan TLS bergantung pada versi MySQL. Tabel berikut menunjukkan dukungan TLS untuk versi MySQL.


| Versi MySQL | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 | 
| --- | --- | --- | --- | --- | 
|  MySQL 8.4  |  Tidak didukung  |  Tidak didukung  |  Didukung  |  Didukung  | 
|  MySQL 8.0  |  Tidak didukung  |  Tidak didukung  |  Didukung  |  Didukung  | 
|  MySQL 5.7  |  Didukung  |  Didukung  |  Didukung  |  Tidak Support  | 

# SSL/TLS Memerlukan akun pengguna tertentu ke instans MySQL DB di Amazon RDS
<a name="mysql-ssl-connections.require-ssl-users"></a>

Anda dapat memerlukan SSL/TLS enkripsi untuk koneksi akun pengguna tertentu ke instans MySQL DB Anda di Amazon RDS. Melindungi informasi sensitif dari akses atau intersepsi yang tidak sah sangat penting untuk menegakkan kebijakan keamanan di mana kerahasiaan data menjadi perhatian.

Untuk memerlukan SSL/TLS koneksi untuk akun pengguna tertentu, gunakan salah satu pernyataan berikut, tergantung pada versi MySQL Anda, untuk SSL/TLS memerlukan koneksi pada akun pengguna. `encrypted_user`

Untuk melakukannya, gunakan pernyataan berikut.

```
ALTER USER 'encrypted_user'@'%' REQUIRE SSL;
```

Untuk informasi selengkapnya tentang SSL/TLS koneksi dengan MySQL, lihat [Menggunakan koneksi terenkripsi dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/encrypted-connections.html) MySQL.

# SSL/TLS Memerlukan semua koneksi ke instans MySQL DB di Amazon RDS
<a name="mysql-ssl-connections.require-ssl"></a>

Gunakan parameter `require_secure_transport` untuk mewajibkan bahwa semua koneksi pengguna dengan instans DB MySQL Anda menggunakan SSL/TLS. Secara default, parameter `require_secure_transport` diatur ke `OFF`. Anda dapat mengatur `require_secure_transport` parameter SSL/TLS untuk memerlukan koneksi `ON` ke instans DB Anda.

Anda dapat mengatur nilai parameter `require_secure_transport` dengan memperbarui grup parameter basis data untuk instans basis data Anda. Anda tidak perlu mem-boot ulang instans DB agar perubahan berlaku.

Saat parameter `require_secure_transport` diatur ke `ON` untuk suatu instans DB, klien basis data dapat terhubung dengannya jika dapat membentuk koneksi terenkripsi. Jika tidak, pesan kesalahan yang serupa dengan yang berikut ini ditampilkan kepada klien:

```
MySQL Error 3159 (HY000): Connections using insecure transport are prohibited while --require_secure_transport=ON.
```

Untuk informasi tentang mengatur parameter, lihat [](USER_WorkingWithParamGroups.Modifying.md).

Untuk mengetahui informasi selengkapnya tentang parameter `require_secure_transport`, lihat [dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_require_secure_transport).

# Menyambung ke instans MySQL DB Anda di Amazon RDS dengan SSL/TLS dari klien baris perintah MySQL (dienkripsi)
<a name="USER_ConnectToInstanceSSL.CLI"></a>

Parameter program `mysql` klien sedikit berbeda tergantung pada versi MySQL atau MariaDB yang Anda gunakan.

Untuk mengetahui versi yang Anda miliki, jalankan perintah `mysql` dengan opsi `--version`. Dalam contoh berikut, output menunjukkan bahwa program klien berasal dari MariaDB.

```
$ mysql --version
mysql  Ver 15.1 Distrib 10.5.15-MariaDB, for osx10.15 (x86_64) using readline 5.1
```

Sebagian besar distribusi Linux, seperti Amazon Linux, CentOS, SUSE, dan Debian telah mengganti MySQL dengan MariaDB, dan versi `mysql` di dalamnya adalah dari MariaDB.

Untuk terhubung dengan instans DB Anda menggunakan SSL/TLS, ikuti langkah-langkah ini:

**Untuk terhubung ke instance DB dengan SSL/TLS menggunakan klien baris perintah MySQL**

1. Unduh sertifikat root yang berfungsi untuk semua Wilayah AWS.

   Untuk informasi tentang mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md).

1. Gunakan klien baris perintah MySQL untuk terhubung dengan instans DB melalui enkripsi SSL/TLS. Untuk parameter `-h`, ganti nama (titik akhir) DNS untuk instans DB Anda. Untuk `--ssl-ca` parameter, ganti nama file SSL/TLS sertifikat. Untuk parameter `-P`, ganti port untuk instans DB Anda. Untuk parameter `-u`, ganti nama pengguna dari pengguna basis data yang valid, seperti pengguna master. Masukkan kata sandi pengguna master ketika diminta.

   Contoh berikut menunjukkan cara meluncurkan klien dengan menggunakan parameter `--ssl-ca` yang memakai klien MySQL 5.7 atau lebih tinggi:

   ```
   mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-mode=REQUIRED -P 3306 -u myadmin -p
   ```

   Untuk mengharuskan SSL/TLS koneksi memverifikasi titik akhir instans DB terhadap titik akhir dalam SSL/TLS sertifikat, masukkan perintah berikut:

   ```
   mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-mode=VERIFY_IDENTITY -P 3306 -u myadmin -p
   ```

   Contoh berikut menunjukkan cara meluncurkan klien dengan menggunakan parameter `--ssl-ca` yang memakai klien MariaDB:

   ```
   mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl -P 3306 -u myadmin -p
   ```

1. Masukkan kata sandi pengguna master ketika diminta.

Anda akan melihat output mirip dengan yang berikut ini.

```
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9738
Server version: 8.0.28 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
```

# Memperbarui aplikasi untuk terhubung ke instance MySQL DB menggunakan sertifikat baru SSL/TLS
<a name="ssl-certificate-rotation-mysql"></a>

Sejak 13 Januari 2023, Amazon RDS telah menerbitkan sertifikat Otoritas Sertifikat (CA) baru untuk terhubung ke instans DB RDS menggunakan Lapisan Soket Aman atau Keamanan Lapisan Pengangkutan (SSL/TLS). Setelah itu, Anda dapat menemukan informasi tentang pembaruan aplikasi untuk menggunakan sertifikat baru.

Topik ini dapat membantu Anda menentukan apakah ada aplikasi klien yang digunakan SSL/TLS untuk terhubung ke instans DB Anda. Jika demikian, Anda dapat memeriksa lebih lanjut apakah aplikasi tersebut memerlukan verifikasi sertifikat untuk terhubung. 

**catatan**  
Beberapa aplikasi dikonfigurasi untuk terhubung ke instans DB MySQL hanya jika aplikasi tersebut berhasil memverifikasi sertifikat pada server. Untuk aplikasi tersebut, Anda harus memperbarui penyimpanan kepercayaan aplikasi klien untuk menyertakan sertifikat CA baru.   
Anda dapat menentukan mode SSL berikut: `disabled`, `preferred`, dan `required`. Saat Anda menggunakan mode SSL `preferred` dan sertifikat CA tidak ada atau tidak diperbarui, koneksi kembali tidak menggunakan SSL dan terhubung tanpa enkripsi.  
Sebaiknya hindari mode `preferred`. Dalam mode `preferred`, jika koneksi menghadapi sertifikat yang tidak valid, koneksi berhenti menggunakan enkripsi dan melanjutkan tanpa enkripsi.

Setelah Anda memperbarui sertifikat CA di penyimpanan kepercayaan aplikasi klien, Anda dapat merotasi sertifikat di instans DB Anda. Sebaiknya Anda menguji prosedur ini di lingkungan pengembangan dan pementasan sebelum menerapkannya di lingkungan produksi Anda.

Untuk informasi selengkapnya tentang rotasi sertifikat, lihat [Memutar sertifikat Anda SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md). Untuk informasi selengkapnya tentang mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md). Untuk informasi tentang penggunaan SSL/TLS dengan instance MySQL DB, lihat. [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md)

**Topics**
+ [Menentukan apakah ada aplikasi yang terhubung ke instans DB MySQL menggunakan SSL](#ssl-certificate-rotation-mysql.determining-server)
+ [Menentukan apakah klien memerlukan verifikasi sertifikat untuk terhubung](#ssl-certificate-rotation-mysql.determining-client)
+ [Memperbarui penyimpanan kepercayaan aplikasi Anda](#ssl-certificate-rotation-mysql.updating-trust-store)
+ [Contoh kode Java untuk membangun koneksi SSL](#ssl-certificate-rotation-mysql.java-example)

## Menentukan apakah ada aplikasi yang terhubung ke instans DB MySQL menggunakan SSL
<a name="ssl-certificate-rotation-mysql.determining-server"></a>

Jika Anda menggunakan Amazon RDS for MySQL versi 5.7, 8.0, atau 8.4 dan Skema Kinerja diaktifkan, jalankan kueri berikut untuk memeriksa apakah koneksi menggunakan SSL/TLS. Untuk informasi tentang cara mengaktifkan Skema Performa, lihat [Performance Schema quick start](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-quick-start.html) di dokumentasi MySQL.

```
mysql> SELECT id, user, host, connection_type 
       FROM performance_schema.threads pst 
       INNER JOIN information_schema.processlist isp 
       ON pst.processlist_id = isp.id;
```

Dalam output contoh ini, Anda dapat melihat sesi Anda sendiri (`admin`) dan aplikasi yang masuk sebagai `webapp1` menggunakan SSL.

```
+----+-----------------+------------------+-----------------+
| id | user            | host             | connection_type |
+----+-----------------+------------------+-----------------+
|  8 | admin           | 10.0.4.249:42590 | SSL/TLS         |
|  4 | event_scheduler | localhost        | NULL            |
| 10 | webapp1         | 159.28.1.1:42189 | SSL/TLS         |
+----+-----------------+------------------+-----------------+
3 rows in set (0.00 sec)
```

## Menentukan apakah klien memerlukan verifikasi sertifikat untuk terhubung
<a name="ssl-certificate-rotation-mysql.determining-client"></a>

Anda dapat memeriksa apakah klien JDBC dan klien MySQL memerlukan verifikasi sertifikat untuk terhubung.

### JDBC
<a name="ssl-certificate-rotation-mysql.determining-client.jdbc"></a>

Contoh berikut dengan Connector/J MySQL 8.0 menunjukkan salah satu cara untuk memeriksa properti koneksi JDBC aplikasi untuk menentukan apakah koneksi yang berhasil memerlukan sertifikat yang valid. Untuk informasi selengkapnya tentang semua opsi koneksi JDBC untuk MySQL, lihat [Configuration properties](https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html) di dokumentasi MySQL.

Saat menggunakan Connector/J MySQL 8.0, koneksi SSL memerlukan verifikasi terhadap sertifikat server DB jika properti koneksi Anda `sslMode` telah disetel `VERIFY_CA` ke `VERIFY_IDENTITY` atau, seperti pada contoh berikut.

```
Properties properties = new Properties();
properties.setProperty("sslMode", "VERIFY_IDENTITY");
properties.put("user", DB_USER);
properties.put("password", DB_PASSWORD);
```

**catatan**  
Jika Anda menggunakan MySQL Java Connector v5.1.38 atau yang lebih baru, atau MySQL Java Connector v8.0.9 atau yang lebih baru untuk terhubung ke database Anda, bahkan jika Anda belum secara eksplisit mengkonfigurasi aplikasi Anda untuk SSL/TLS digunakan saat menghubungkan ke database Anda, driver klien ini default untuk menggunakan, mereka melakukan verifikasi sertifikat sebagian dan gagal terhubung jika sertifikat server database kedaluwarsaSSL/TLS. In addition, when using SSL/TLS.

### MySQL
<a name="ssl-certificate-rotation-mysql.determining-client.mysql"></a>

Contoh Klien MySQL berikut menunjukkan dua cara untuk memeriksa koneksi MySQL skrip untuk menentukan apakah koneksi yang berhasil memerlukan sertifikat yang valid. Untuk informasi selengkapnya tentang semua opsi koneksi dengan Klien MySQL, lihat [Client-side configuration for encrypted connections](https://dev.mysql.com/doc/refman/8.0/en/using-encrypted-connections.html#using-encrypted-connections-client-side-configuration) di dokumentasi MySQL.

Saat menggunakan MySQL Client versi 5.7 dan yang lebih tinggi, koneksi SSL memerlukan verifikasi terhadap sertifikat CA server jika untuk opsi yang Anda `VERIFY_CA` tentukan `VERIFY_IDENTITY` atau, seperti `--ssl-mode` pada contoh berikut.

```
mysql -h mysql-database.rds.amazonaws.com -uadmin -ppassword --ssl-ca=/tmp/ssl-cert.pem --ssl-mode=VERIFY_CA                
```

## Memperbarui penyimpanan kepercayaan aplikasi Anda
<a name="ssl-certificate-rotation-mysql.updating-trust-store"></a>

Untuk informasi tentang cara memperbarui penyimpanan kepercayaan untuk aplikasi MySQL, lihat [Installing SSL certificates](https://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-ssl-installation.html) di dokumentasi MySQL.

Untuk informasi tentang cara mengunduh sertifikat root, lihat [](UsingWithRDS.SSL.md).

Untuk contoh skrip yang mengimpor sertifikat, lihat [Contoh skrip untuk mengimpor sertifikat ke trust store Anda](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

**catatan**  
Saat memperbarui penyimpanan kepercayaan, Anda dapat mempertahankan sertifikat lama selain menambahkan sertifikat baru.

Jika Anda menggunakan driver JDBC mysql dalam aplikasi, atur properti berikut dalam aplikasi.

```
System.setProperty("javax.net.ssl.trustStore", certs);
System.setProperty("javax.net.ssl.trustStorePassword", "password");
```

Saat Anda memulai aplikasi, atur properti berikut.

```
java -Djavax.net.ssl.trustStore=/path_to_trust_store/MyTruststore.jks -Djavax.net.ssl.trustStorePassword=my_trust_store_password com.companyName.MyApplication        
```

**catatan**  
Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

## Contoh kode Java untuk membangun koneksi SSL
<a name="ssl-certificate-rotation-mysql.java-example"></a>

Contoh kode berikut menunjukkan cara menyiapkan koneksi SSL yang memvalidasi sertifikat server menggunakan JDBC.

```
public class MySQLSSLTest {
     
        private static final String DB_USER = "username";
        private static final String DB_PASSWORD = "password";
        // This trust store has only the prod root ca.
        private static final String TRUST_STORE_FILE_PATH = "file-path-to-trust-store";
        private static final String TRUST_STORE_PASS = "trust-store-password";
            
        public static void test(String[] args) throws Exception {
            Class.forName("com.mysql.jdbc.Driver");
                    
            System.setProperty("javax.net.ssl.trustStore", TRUST_STORE_FILE_PATH);
            System.setProperty("javax.net.ssl.trustStorePassword", TRUST_STORE_PASS);
            
            Properties properties = new Properties();
            properties.setProperty("sslMode", "VERIFY_IDENTITY");
            properties.put("user", DB_USER);
            properties.put("password", DB_PASSWORD);
            
     
            Connection connection = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                connection = DriverManager.getConnection("jdbc:mysql://mydatabase.123456789012.us-east-1.rds.amazonaws.com:3306",properties);
                stmt = connection.createStatement();
                rs=stmt.executeQuery("SELECT 1 from dual");
            } finally {
                if (rs != null) {
                    try {
                        rs.close();
                    } catch (SQLException e) {
                    }
                }
                if (stmt != null) {
                   try {
                        stmt.close();
                    } catch (SQLException e) {
                   }
                }
                if (connection != null) {
                    try {
                        connection.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
            return;
        }
    }
```

**penting**  
Setelah Anda menentukan bahwa koneksi database Anda menggunakan SSL/TLS dan telah memperbarui toko kepercayaan aplikasi Anda, Anda dapat memperbarui database Anda untuk menggunakan sertifikat rds-ca-rsa 2048-g1. Untuk mengetahui petunjuknya, lihat langkah 3 dalam [Memperbarui sertifikat CA Anda dengan memodifikasi instans atau cluster DB Anda](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-updating).  
Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

# Menggunakan Kerberos otentikasi untuk Amazon RDS for MySQL
<a name="mysql-kerberos"></a>

 Anda kini dapat menggunakan autentikasi Kerberos untuk mengautentikasi pengguna saat dia menghubungi instans basis data MySQL. Instans DB bekerja dengan AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) untuk mengaktifkan otentikasi Kerberos. Saat pengguna mengautentikasi ke instans basis data MySQL yang bergabung dengan domain yang memercayai, permintaan autentikasi diteruskan. Permintaan yang diteruskan masuk ke direktori domain yang Anda buat dengan. Directory Service 

 Menyimpan semua kredensial Anda di direktori yang sama dapat menghemat waktu dan tenaga Anda. Dengan pendekatan ini, Anda memiliki tempat terpusat guna menyimpan dan mengelola kredensial untuk beberapa instans basis data. Menggunakan direktori juga dapat meningkatkan profil keamanan keseluruhan Anda. 

## Wilayah dan ketersediaan versi
<a name="mysql-kerberos-setting-up.RegionVersionAvailability"></a>

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Lihat informasi yang lebih lengkap tentang versi dan ketersediaan Wilayah Amazon RDS dengan autentikasi Kerberos di [Wilayah dan mesin DB yang Didukung untuk otentikasi Kerberos di Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md).

## Ikhtisar Menyiapkan autentikasi Kerberos untuk instans basis data MySQL
<a name="mysql-kerberos-setting-up-overview"></a>

 Untuk menyiapkan autentikasi Kerberos bagi instans basis data MySQL, selesaikan langkah-langkah umum berikut, yang nanti akan dijelaskan lebih terperinci: 

1.  Gunakan AWS Managed Microsoft AD untuk membuat AWS Managed Microsoft AD direktori. Anda dapat menggunakanKonsol Manajemen AWS, yangAWS CLI, atau Directory Service untuk membuat direktori. Untuk detail tentang melakukannya, lihat [Membuat AWS Managed Microsoft AD direktori Anda](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html) di *Panduan AWS Directory Service Administrasi*. 

1.  Buat peran AWS Identity and Access Management (IAM) yang menggunakan kebijakan IAM terkelola. `AmazonRDSDirectoryServiceAccess` Peran ini memungkinkan Amazon RDS melakukan panggilan ke direktori Anda. 

    Agar peran mengizinkan akses, titik akhir AWS Security Token Service (AWS STS) harus diaktifkan di Wilayah AWS untuk AWS akun Anda. AWS STSendpoint aktif secara default di semuaWilayah AWS, dan Anda dapat menggunakannya tanpa tindakan lebih lanjut. Untuk informasi selengkapnya, lihat [Mengaktifkan dan menonaktifkan AWS STS dalam Panduan Pengguna Wilayah AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) *IAM*. 

1.  Buat dan konfigurasikan pengguna di AWS Managed Microsoft AD direktori menggunakan alat Microsoft Active Directory. Untuk informasi selengkapnya tentang membuat pengguna di Active Directory, lihat [Mengelola pengguna dan grup di Microsoft AD AWS terkelola](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups.html) di *Panduan AWS Directory Service Administrasi*. 

1.  Buat atau ubah instans basis data MySQL. Jika Anda menggunakan CLI atau API RDS dalam permintaan buat, tentukan pengidentifikasi domain dengan parameter `Domain`. Gunakan pengidentifikasi `d-*` yang dihasilkan saat Anda membuat direktori Anda dan nama peran yang Anda buat. 

    Jika Anda mengubah instans basis data MySQL yang ada untuk menggunakan autentikasi Kerberos, atur parameter-parameter domain dan peran IAM untuk instans basis data. Temukan lokasi instans basis data dalam VPC yang sama dengan direktori domain. 

1.  Gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL. Buat pengguna di MySQL dengan menggunakan klausul `CREATE USER` `IDENTIFIED WITH 'auth_pam'`. Pengguna yang Anda buat dengan cara ini dapat masuk ke instans basis data MySQL dengan menggunakan autentikasi Kerberos. 

## Menyiapkan autentikasi Kerberos untuk instans basis data MySQL
<a name="mysql-kerberos-setting-up"></a>

 Anda gunakan AWS Managed Microsoft AD untuk mengatur otentikasi Kerberos untuk instance MySQL DB. Untuk menyiapkan autentikasi Kerberos, lakukan langkah-langkah berikut. 

### Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD
<a name="mysql-kerberos-setting-up.create-directory"></a>

Directory Servicemembuat Direktori Aktif yang dikelola sepenuhnya di AWS Cloud. Saat Anda membuat AWS Managed Microsoft AD direktori, Directory Service buat dua pengontrol domain dan server Domain Name System (DNS) atas nama Anda. Server-server direktori dibuat di subnet yang berbeda di VPC. Redundansi ini membantu memastikan bahwa direktori Anda tetap dapat diakses meskipun terjadi kegagalan. 

 Saat Anda membuat AWS Managed Microsoft AD direktori, Directory Service lakukan tugas-tugas berikut atas nama Anda: 
+  Menyiapkan Active Directory di dalam VPC. 
+  Membuat akun administrator direktori dengan nama pengguna Admin dan kata sandi yang ditentukan. Anda menggunakan akun ini untuk mengelola direktori Anda. 
**catatan**  
 Pastikan untuk menyimpan kata sandi ini. Directory Servicetidak menyimpannya. Anda dapat mengaturnya ulang, tetapi tidak dapat mengambilnya. 
+  Membuat grup keamanan untuk pengontrol direktori. 

 Saat Anda meluncurkanAWS Managed Microsoft AD, AWS buat Unit Organisasi (OU) yang berisi semua objek direktori Anda. OU ini memiliki nama NetBIOS yang Anda masukkan saat membuat direktori, terletak di domain akar. Root domain dimiliki dan dikelola olehAWS. 

 Akun Admin yang dibuat dengan AWS Managed Microsoft AD direktori Anda memiliki izin untuk kegiatan administratif yang paling umum untuk OU Anda: 
+  Membuat, memperbarui, atau menghapus pengguna 
+  Menambahkan sumber daya ke domain Anda seperti server file atau cetak, lalu menetapkan izin untuk sumber daya tersebut kepada pengguna di OU Anda 
+  Buat tambahan OUs dan wadah 
+  Melimpahkan kewenangan 
+  Memulihkan objek-objek yang dihapus dari Keranjang Sampah Active Directory 
+  Jalankan PowerShell modul AD dan DNS Windows pada Layanan Web Direktori Aktif 

 Akun Admin juga memiliki hak melakukan aktivitas-aktivitas selingkup domain berikut: 
+  Mengelola konfigurasi DNS (menambahkan, menghapus, atau memperbarui catatan, zona, dan penerus) 
+  Melihat log peristiwa DNS 
+  Melihat log peristiwa keamanan 

**Untuk membuat direktori dengan AWS Managed Microsoft AD**

1. Masuk ke Konsol Manajemen AWS dan buka Directory Service konsol di [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

1.  Di panel navigasi, pilih **Direktori**, lalu pilih **Siapkan direktori**. 

1.  Pilih **AWS Managed Microsoft AD**. AWS Managed Microsoft ADadalah satu-satunya pilihan yang saat ini dapat Anda gunakan dengan Amazon RDS. 

1.  Masukkan informasi berikut:   
**Nama DNS Direktori**  
 Nama berkualifikasi penuh untuk direktori, seperti **corp.example.com**.   
**Nama NetBIOS direktori**  
 Nama singkat untuk direktori, seperti **CORP**.   
**Deskripsi direktori**  
 (Opsional) Deskripsi untuk direktori.   
**Kata sandi admin**  
 Kata sandi untuk administrator direktori. Proses pembuatan direktori menciptakan akun administrator dengan nama pengguna Admin dan kata sandi ini.   
 Kata sandi administrator direktori dan tidak boleh menyertakan kata "admin." Kata sandi bersifat peka kapital dan harus terdiri atas 8–64 karakter. Kata sandi juga harus berisi setidaknya satu karakter dari tiga di antara empat kategori berikut:   
   +  Huruf kecil (a-z) 
   +  Huruf besar (A-Z) 
   +  Angka (0–9) 
   +  Karakter non-alfanumerik (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)   
**Ulangi kata sandi**  
 Kata sandi administrator diketik ulang. 

1. Pilih **Berikutnya**.

1.  Masukkan informasi berikut di bagian **Jaringan**, lalu pilih **Berikutnya**:   
**VPC**  
 VPC untuk direktori. Buat instans basis data MySQL dalam VPC yang sama ini.   
**Subnet**  
 Subnet untuk server direktori. Kedua subnet harus berada di Zona Ketersediaan yang berbeda. 

1.  Tinjau informasi direktori dan buat perubahan yang diperlukan. Jika informasi sudah benar, pilih **Buat direktori**.   
![\[Jendela Review & create selama pembuatan direktori di Directory Service konsol.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/WinAuth2.png)

 Dibutuhkan beberapa menit sampai direktori terbuat. Setelah direktori berhasil dibuat, nilai **Status** berubah menjadi **Aktif**. 

 Untuk melihat informasi tentang direktori Anda, pilih nama direktori di daftar direktori. Catat nilai **ID Direktori** karena Anda memerlukan nilai ini saat membuat atau mengubah instans basis data MySQL Anda. 

![\[Bagian Detail direktori dengan ID Direktori di Directory Service konsol.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/WinAuth3.png)


### Langkah 2: Buat peran IAM untuk penggunaan oleh Amazon RDS
<a name="mysql-kerberos-setting-up.CreateIAMRole"></a>

Agar Amazon RDS memanggil Directory Service Anda, peran IAM yang menggunakan kebijakan `AmazonRDSDirectoryServiceAccess` IAM terkelola diperlukan. Peran ini memungkinkan Amazon RDS melakukan panggilan ke Directory Service.

Ketika instans DB dibuat menggunakan Konsol Manajemen AWS dan pengguna konsol memiliki `iam:CreateRole` izin, konsol membuat peran ini secara otomatis. Dalam hal ini, nama perannya adalah `rds-directoryservice-kerberos-access-role`. Jika tidak, Anda harus membuat peran IAM secara manual. Saat Anda membuat peran IAM ini, pilih`Directory Service`, dan lampirkan kebijakan AWS terkelola `AmazonRDSDirectoryServiceAccess` padanya.

Untuk informasi selengkapnya tentang membuat peran IAM untuk layanan, lihat [Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) Pengguna *IAM*.

**catatan**  
Peran IAM yang digunakan untuk Windows Authentication untuk RDS for SQL Server tidak dapat digunakan untuk RDS for MySQL.

Anda memiliki opsi untuk membuat kebijakan dengan izin yang diperlukan alih-alih menggunakan kebijakan IAM terkelola `AmazonRDSDirectoryServiceAccess`. Dalam hal ini, peran IAM harus memiliki kebijakan kepercayaan IAM berikut.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Peran ini juga harus memiliki kebijakan peran IAM berikut.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

### Langkah 3: Buat dan konfigurasikan pengguna
<a name="mysql-kerberos-setting-up.create-users"></a>

 Anda dapat membuat pengguna dengan alat Active Directory Users and Computers. Alat ini bagian dari alat-alat Active Directory Domain Services dan Active Directory Lightweight Directory Services. Pengguna mewakili orang atau entitas individual yang memiliki akses ke direktori Anda. 

 Untuk membuat pengguna di Directory Service direktori, Anda harus terhubung ke EC2 instans Amazon berdasarkan Microsoft Windows. Instance ini harus menjadi anggota Directory Service direktori dan masuk sebagai pengguna yang memiliki hak istimewa untuk membuat pengguna. Lihat informasi yang lebih lengkap di [Kelola pengguna dan grup di AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/creating_ad_users_and_groups.html) dalam *Panduan Administrasi Layanan Direktori AWS*. 

### Langkah 4: Buat atau ubah instans basis data MySQL
<a name="mysql-kerberos-setting-up.create-modify"></a>

Buat atau ubah instans basis data MySQL untuk penggunaan dengan direktori Anda. Anda dapat menggunakan konsol, CLI, atau API RDS untuk mengaitkan instans basis data dengan direktori. Anda dapat menyesuaikan waktu ini dengan cara berikut:
+ [Buat instance MySQL DB baru menggunakan konsol, perintah [ create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)CLI, atau operasi Create RDS API. DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)

  Untuk petunjuk, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ [Ubah instance MySQL DB yang ada menggunakan konsol, perintah [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI, atau operasi Modify RDS API. DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)

  Untuk petunjuk, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).
+ [Kembalikan instance MySQL DB dari snapshot DB menggunakan konsol, perintah CLI [ restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html), atau operasi Restore From RDS API. DBInstance DBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)

  Untuk petunjuk, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).
+ [Kembalikan instance MySQL DB ke point-in-time menggunakan konsol, perintah [ restore-db-instance-to- point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) CLI, atau operasi Restore RDS API. DBInstance ToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

  Untuk petunjuk, lihat [Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS](USER_PIT.md).

Autentikasi Kerberos hanya didukung untuk instans basis data MySQL dalam VPC. Instans basis data dapat berada dalam VPC yang sama dengan direktori, atau dalam VPC yang berbeda. Instans basis data harus menggunakan grup keamanan yang memungkinkan data keluar dari VPC direktori sehingga instans basis data dapat berkomunikasi dengan direktori.

Saat Anda menggunakan konsol untuk membuat, memodifikasi, atau memulihkan instans DB, pilih **Autentikasi kata sandi dan Kerberos** di bagian **Autentikasi basis data**. Pilih **Jelajah Direktori**, lalu pilih direktori, atau pilih **Buat direktori baru**.

![\[Bagian otentikasi Database dengan Password dan otentikasi Kerberos dipilih di konsol Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/kerberos-authentication.png)


Saat Anda menggunakan API AWS CLI atau RDS, kaitkan instans DB dengan direktori. Parameter-parameter berikut diperlukan bagi instans basis data untuk menggunakan direktori domain yang Anda buat:
+ Untuk parameter `--domain`, gunakan pengidentifikasi domain (pengidentifikasi "d-\$1") yang dihasilkan saat Anda membuat direktori.
+ Untuk parameter `--domain-iam-role-name`, gunakan peran yang Anda buat dengan menggunakan kebijakan IAM terkelola `AmazonRDSDirectoryServiceAccess`.

 Misalnya, perintah CLI berikut mengubah instans basis data untuk menggunakan direktori. 

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --domain d-ID \
    --domain-iam-role-name role-name
```

Untuk Windows:

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --domain d-ID ^
    --domain-iam-role-name role-name
```

**penting**  
Jika Anda mengubah instans basis data untuk mengaktifkan autentikasi Kerberos, boot ulang instans basis data setelah membuat perubahan.

### Langkah 5: Buat login MySQL autentikasi Kerberos
<a name="mysql-kerberos-setting-up.create-logins"></a>

 Gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL sebagaimana Anda lakukan dengan instans basis data lain. Instans DB bergabung ke AWS Managed Microsoft AD domain. Jadi, Anda dapat menyediakan login dan pengguna MySQL dari pengguna Active Directory di domain Anda. Izin basis data dikelola melalui izin MySQL standar yang diberikan kepada dan dicabut dari login ini. 

 Anda dapat mengizinkan pengguna Active Directory untuk mengautentikasi dengan MySQL. Untuk melakukannya, pertama-tama gunakan kredensial pengguna master Amazon RDS untuk menghubungi instans basis data MySQL sebagaimana dengan instans basis data lain. Setelah Anda masuk, buat pengguna yang diautentikasi secara eksternal dengan PAM (Pluggable Authentication Modules) di MySQL dengan menjalankan perintah berikut. Ganti `testuser` dengan nama pengguna.

```
CREATE USER 'testuser'@'%' IDENTIFIED WITH 'auth_pam';
```

 Pengguna (baik orang maupun aplikasi) dari domain Anda kini dapat menghubungi instans basis data dari mesin klien yang digabungkan dengan domain dengan menggunakan autentikasi Kerberos. 

**penting**  
Kami sangat menyarankan agar klien menggunakan SSL/TLS koneksi saat menggunakan otentikasi PAM. Jika mereka tidak menggunakan SSL/TLS koneksi, kata sandi mungkin dikirim sebagai teks yang jelas dalam beberapa kasus. Untuk memerlukan koneksi SSL/TLS terenkripsi bagi pengguna AD Anda, jalankan perintah berikut dan ganti `testuser` dengan nama pengguna:  

```
ALTER USER 'testuser'@'%' REQUIRE SSL;
```
Untuk informasi selengkapnya, lihat [Dukungan SSL/TLS untuk instans MySQL DB di Amazon RDS](MySQL.Concepts.SSLSupport.md).

## Mengelola instans basis data dalam domain
<a name="mysql-kerberos-managing"></a>

 Anda dapat menggunakan CLI atau API RDS untuk mengelola instans basis data Anda dan hubungannya dengan Active Directory terkelola Anda. Misalnya, Anda dapat mengaitkan Active Directory untuk autentikasi Kerberos dan melepaskan Active Directory untuk menonaktifkan autentikasi Kerberos. Anda juga dapat memindahkan instans basis data agar diautentikasi secara eksternal oleh satu Active Directory ke yang lain. 

 Misalnya, dengan menggunakan API Amazon RDS, Anda dapat melakukan hal-hal berikut: 
+  Untuk mencoba lagi mengaktifkan autentikasi Kerberos pada keanggotaan yang gagal, gunakan operasi API `ModifyDBInstance` dan tentukan ID direktori keanggotaan saat ini. 
+  Untuk memperbarui nama peran IAM bagi keanggotaan, gunakan operasi API `ModifyDBInstance` dan tentukan ID direktori keanggotaan saat ini dan peran IAM baru. 
+  Untuk menonaktifkan autentikasi Kerberos pada instans basis data, gunakan operasi API `ModifyDBInstance` dan tentukan `none` sebagai parameter domain. 
+  Untuk memindahkan instans basis data dari satu domain ke domain lain, gunakan operasi API `ModifyDBInstance` dan tentukan pengidentifikasi domain baru sebagai parameter domain. 
+  Untuk memerinci keanggotaan bagi setiap instans basis data, gunakan operasi API `DescribeDBInstances`. 

### Memahami keanggotaan domain
<a name="mysql-kerberos-managing.understanding"></a>

 Setelah Anda membuat atau mengubah instans basis data, instans akan menjadi anggota domain. Anda dapat melihat status keanggotaan domain untuk instans DB dengan menjalankan perintah [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)CLI. Status instans DB dapat berupa salah satu dari daftar berikut: 
+  `kerberos-enabled` – Instans basis data telah mengaktifkan autentikasi Kerberos. 
+  `enabling-kerberos`— AWS sedang dalam proses mengaktifkan otentikasi Kerberos pada instance DB ini. 
+  `pending-enable-kerberos` – Pengaktifan autentikasi Kerberos tertunda pada instans basis data ini. 
+  `pending-maintenance-enable-kerberos`— AWS akan mencoba mengaktifkan otentikasi Kerberos pada instans DB selama jendela pemeliharaan terjadwal berikutnya. 
+  `pending-disable-kerberos` – Penonaktifan autentikasi Kerberos tertunda pada instans basis data ini. 
+  `pending-maintenance-disable-kerberos`— AWS akan mencoba menonaktifkan otentikasi Kerberos pada instans DB selama jendela pemeliharaan terjadwal berikutnya. 
+  `enable-kerberos-failed` – Sebuah masalah konfigurasi mencegah AWS dari mengaktifkan autentikasi Kerberos pada instans basis data. Periksa dan perbaiki konfigurasi Anda sebelum menerbitkan ulang perintah MODIFY instans basis data. 
+  `disabling-kerberos`— AWS sedang dalam proses menonaktifkan otentikasi Kerberos pada instance DB ini. 

 Permintaan untuk mengaktifkan autentikasi Kerberos dapat gagal karena masalah konektivitas jaringan atau peran IAM yang salah. Misalnya, anggap bahwa Anda membuat instans basis data atau mengubah instans basis data yang sudah ada dan upaya mengaktifkan autentikasi Kerberos gagal. Jika ini terjadi, terbitkan ulang perintah pengubahan atau ubah instans basis data yang baru dibuat untuk bergabung dengan domain. 

## Membuat koneksi dengan MySQL lewat autentikasi Kerberos
<a name="mysql-kerberos-connecting"></a>

 Untuk menghubungi MySQL dengan autentikasi Kerberos, Anda harus masuk dengan menggunakan jenis autentikasi Kerberos. 

 Untuk membuat pengguna basis data yang dapat Anda hubungi dengan menggunakan autentikasi Kerberos, gunakan klausul `IDENTIFIED WITH` pada pernyataan `CREATE USER`. Lihat petunjuk di [Langkah 5: Buat login MySQL autentikasi Kerberos](#mysql-kerberos-setting-up.create-logins). 

Untuk menghindari kesalahan, gunakan klien `mysql` MariaDB. Anda dapat mengunduh perangkat lunak MariaDB di [https://downloads.mariadb.org/](https://downloads.mariadb.org/).

Pada penggugah/prompt perintah, hubungi salah satu titik akhir yang terkait dengan instans basis data MySQL Anda. Ikuti prosedur-prosedur umum dalam [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md). Saat Anda diminta untuk memasukkan kata sandi, masukkan kata sandi Kerberos yang terkait dengan nama penggunanya.

## Memulihkan instans basis data MySQL dan menambahkannya ke domain
<a name="mysql-kerberos-restoring"></a>

 Anda dapat memulihkan snapshot DB atau menyelesaikan point-in-time pemulihan untuk instance MySQL DB dan kemudian menambahkannya ke domain. Setelah instans basis data dipulihkan, ubah instans itu dengan menggunakan proses yang dijelaskan dalam [Langkah 4: Buat atau ubah instans basis data MySQL](#mysql-kerberos-setting-up.create-modify) untuk menambahkannya ke domain. 

## Batasan MySQL autentikasi Kerberos
<a name="mysql-kerberos.limitations"></a>

 Batasan berikut berlaku bagi autentikasi Kerberos untuk MySQL: 
+ Hanya sebuah AWS Managed Microsoft AD yang didukung. Namun, Anda dapat menggabungkan instans basis data RDS for MySQL dengan domain Microsoft AD terkelola bersama yang dimiliki oleh beberapa akun di Wilayah AWS yang sama.
+  Anda harus mem-boot ulang instans basis data setelah mengaktifkan fitur ini. 
+  Panjang nama domain tidak boleh lebih dari 61 karakter. 
+  Anda tidak dapat mengaktifkan autentikasi Kerberos dan autentikasi IAM dengan serentak. Pilih satu metode autentikasi atau metode lain untuk instans basis data MySQL Anda. 
+  Jangan ubah port instans basis data setelah mengaktifkan fitur ini. 
+  Jangan gunakan autentikasi Kerberos dengan replika baca.
+ Jika pemutakhiran versi kecil otomatis untuk instans basis data MySQL yang menggunakan autentikasi Kerberos diaktifkan, Anda harus mematikan autentikasi Kerberos, lalu mengaktifkannya kembali setelah pemutakhiran otomatis. Lihat informasi yang lebih lengkap tentang peningkatan versi auto kecil di [Upgrade versi minor otomatis RDS untuk My SQL](USER_UpgradeDBInstance.MySQL.Minor.md).
+  Untuk menghapus instans basis data dengan fitur ini aktif, pertama-tama nonaktifkan fitur. Untuk melakukannya, jalankan perintah `modify-db-instance` CLI untuk instance DB dan tentukan `none` parameternya. `--domain` 

   Jika Anda menggunakan CLI atau API RDS untuk menghapus instans basis data dengan fitur ini aktif, akan terjadi penundaan. 
+ RDS untuk MySQL tidak mendukung otentikasi Kerberos di seluruh kepercayaan hutan antara AD di lokasi atau yang dihosting sendiri dan. AWS Managed Microsoft AD 

# Meningkatkan kinerja kueri RDS untuk My SQL dengan Amazon RDS Optimized Reads
<a name="rds-optimized-reads"></a>

Anda dapat mencapai pemrosesan kueri yang lebih cepat RDS untuk My SQL dengan Amazon RDS Optimized Reads. Instans RDS for My SQL DB atau cluster DB multi-AZ yang menggunakan RDS Optimized Reads dapat mencapai pemrosesan kueri hingga 2x lebih cepat dibandingkan dengan instans DB atau cluster yang tidak menggunakannya.

**Topics**
+ [Ikhtisar Bacaan yang RDS Dioptimalkan](#rds-optimized-reads-overview)
+ [Kasus penggunaan untuk Pembacaan yang RDS Dioptimalkan](#rds-optimized-reads-use-cases)
+ [Praktik terbaik untuk Pembacaan yang RDS Dioptimalkan](#rds-optimized-reads-best-practices)
+ [Menggunakan Bacaan yang RDS Dioptimalkan](#rds-optimized-reads-using)
+ [Memantau instans DB yang menggunakan Bacaan yang RDS Dioptimalkan](#rds-optimized-reads-monitoring)
+ [Batasan untuk Bacaan yang RDS Dioptimalkan](#rds-optimized-reads-limitations)

## Ikhtisar Bacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-overview"></a>

Saat Anda menggunakan instans RDS for My SQL DB atau cluster DB multi-AZ yang mengaktifkan RDS Optimized Reads, ini akan mencapai kinerja kueri yang lebih cepat melalui penggunaan penyimpanan instans. *Penyimpanan instans* menyediakan penyimpanan tingkat blok sementara untuk instans DB atau klaster DB Multi-AZ Anda. Penyimpanan terletak di Non-Volatile Memory Express (NVMe) solid state drive (SSDs) yang secara fisik terpasang ke server host. Penyimpanan ini dioptimalkan untuk latensi rendah, performa I/O acak tinggi, dan throughput baca berurutan tinggi.

RDSBacaan yang Dioptimalkan diaktifkan secara default ketika instans DB atau cluster DB multi-AZ menggunakan kelas instans DB dengan penyimpanan instance, seperti db.m5d atau db.m6gd. Dengan RDS Optimized Reads, beberapa objek sementara disimpan di toko instance. Objek sementara ini termasuk file sementara internal, tabel sementara internal pada disk, file peta memori, dan file cache log biner (binlog). Untuk informasi selengkapnya tentang penyimpanan instans, lihat [penyimpanan EC2 instans Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) di *Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux*.

Beban kerja yang menghasilkan objek sementara di My SQL untuk pemrosesan kueri dapat memanfaatkan penyimpanan instance untuk pemrosesan kueri yang lebih cepat. Jenis beban kerja ini mencakup kueri yang melibatkan jenis, agregasi hash, gabungan beban tinggi, Ekspresi Tabel Umum (CTEs), dan kueri pada kolom yang tidak diindeks. Volume penyimpanan instans ini memberikan kinerja yang lebih tinggiIOPS, terlepas dari konfigurasi penyimpanan yang digunakan untuk EBS penyimpanan Amazon persisten. Karena RDS Optimized Reads membongkar operasi pada objek sementara ke penyimpanan instance, operasi input/output per detik (IOPS) atau throughput penyimpanan persisten (AmazonEBS) sekarang dapat digunakan untuk operasi pada objek persisten. Operasi ini mencakup pembacaan dan penulisan file data biasa, dan operasi mesin latar belakang, seperti flushing dan penggabungan buffer sisipan.

**catatan**  
Baik RDS snapshot manual maupun otomatis hanya berisi file mesin untuk objek persisten. Objek sementara yang dibuat di toko instance tidak disertakan dalam RDS snapshot.

## Kasus penggunaan untuk Pembacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-use-cases"></a>

Jika Anda memiliki beban kerja yang sangat bergantung pada objek sementara, seperti tabel atau file internal, untuk eksekusi kueri mereka, maka Anda bisa mendapatkan keuntungan dari mengaktifkan Bacaan yang RDS Dioptimalkan. Kasus penggunaan berikut adalah kandidat untuk Bacaan yang RDS Dioptimalkan:
+ Aplikasi yang menjalankan kueri analitik dengan ekspresi tabel umum yang kompleks (CTEs), tabel turunan, dan operasi pengelompokan
+ Replika baca yang melayani lalu lintas baca padat dengan kueri yang tidak dioptimalkan
+ Aplikasi yang menjalankan kueri pelaporan berdasarkan permintaan atau dinamis yang melibatkan operasi yang kompleks, seperti kueri dengan klausa `GROUP BY` dan `ORDER BY`
+ Beban kerja yang menggunakan tabel sementara internal untuk pemrosesan kueri

  Anda dapat memantau variabel status mesin `created_tmp_disk_tables` untuk menentukan jumlah tabel sementara berbasis disk yang dibuat pada instans DB Anda.
+ Aplikasi yang membuat tabel sementara dalam jumlah besar, baik secara langsung maupun dalam prosedur, untuk menyimpan hasil sementara
+ Kueri basis data yang melakukan pengelompokan atau pengurutan pada kolom yang tidak diindeks

## Praktik terbaik untuk Pembacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-best-practices"></a>

Gunakan praktik terbaik berikut untuk Bacaan yang RDS Dioptimalkan:
+ Tambahkan logika coba lagi untuk kueri hanya baca jika terjadi kegagalan karena penyimpanan instans penuh selama eksekusi.
+ Pantau ruang penyimpanan yang tersedia di penyimpanan instans dengan CloudWatch metrik`FreeLocalStorage`. Jika penyimpanan instans hampir penuh karena beban kerja pada instans DB, modifikasi instans DB untuk menggunakan kelas instans DB yang lebih besar.
+ Jika memori instans DB atau klaster DB Multi-AZ Anda sudah memadai tetapi masih mencapai batas penyimpanan pada penyimpanan instans, tingkatkan nilai `binlog_cache_size` untuk mempertahankan entri binlog khusus sesi dalam memori. Konfigurasi ini akan mencegah penulisan entri binlog ke file cache binlog sementara pada disk.

  Parameter `binlog_cache_size` dibuat per sesi. Anda dapat mengubah nilai untuk setiap sesi baru. Pengaturan untuk parameter ini dapat meningkatkan pemanfaatan memori pada instans DB selama beban kerja mencapai puncaknya. Oleh karena itu, pertimbangkan untuk meningkatkan nilai parameter berdasarkan pola beban kerja aplikasi Anda dan memori yang tersedia pada instans DB.
+ Untuk versi My SQL 8.0 dan yang lebih rendah, gunakan nilai default `MIXED` untuk `binlog_format` parameter. Tergantung ukuran transaksi, mengatur `binlog_format` ke `ROW` dapat menghasilkan file cache binlog berukuran besar pada penyimpanan instans. Untuk My SQL 8.4 dan yang lebih tinggi, gunakan nilai default `ROW` untuk `binlog_format` parameter. 
+ Atur parameter [internal\$1tmp\$1mem\$1storage\$1engine](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_internal_tmp_mem_storage_engine) ke `TempTable`, sesuaikan parameter [temptable\$1max\$1mmap](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_temptable_max_mmap) dengan ukuran penyimpanan yang tersedia pada penyimpanan instans.
+ Jangan melakukan perubahan besar-besaran dalam satu transaksi. Transaksi seperti ini dapat menghasilkan file cache binlog berukuran besar pada penyimpanan instans dan dapat menyebabkan masalah ketika penyimpanan instans penuh. Pertimbangkan untuk membagi penulisan menjadi beberapa transaksi kecil guna meminimalkan penggunaan penyimpanan untuk file cache binlog.
+ Gunakan nilai default `ABORT_SERVER` untuk parameter `binlog_error_action`. Hal ini dapat mencegah masalah pencatatan log biner pada instans DB yang mengaktifkan pencadangan.

## Menggunakan Bacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-using"></a>

Saat Anda menyediakan instans SQL DB Saya dengan salah satu kelas instans DB berikut dalam penerapan instans DB AZ tunggal, penerapan instans DB multi-AZ, atau penerapan klaster DB multi-AZ, instans DB secara otomatis menggunakan Bacaan yang Dioptimalkan. RDS RDS

Untuk mengaktifkan Bacaan yang RDS Dioptimalkan, lakukan salah satu hal berikut:
+ Buat instans RDS for My SQL DB atau cluster DB multi-AZ menggunakan salah satu kelas instans DB ini. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
+ Ubah yang sudah ada RDS untuk instans My SQL DB atau cluster DB multi-AZ untuk menggunakan salah satu kelas instans DB ini. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

RDSBacaan yang Dioptimalkan tersedia di semua Wilayah AWS RDS tempat satu atau lebih kelas instans DB dengan NVMe SSD penyimpanan lokal didukung. Untuk informasi tentang kelas instans DB, lihat [ DB](Concepts.DBInstanceClass.md).

Ketersediaan kelas instans DB berbeda untuk Wilayah AWS. Untuk menentukan apakah kelas instans DB didukung secara spesifik Wilayah AWS, lihat[Menentukan dukungan kelas instans DB di Wilayah AWS](Concepts.DBInstanceClass.RegionSupport.md).

Jika Anda tidak ingin menggunakan RDS Optimized Reads, ubah instans DB atau cluster DB multi-AZ agar tidak menggunakan kelas instans DB yang mendukung fitur tersebut.

## Memantau instans DB yang menggunakan Bacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-monitoring"></a>

Anda dapat memantau instans DB yang menggunakan Bacaan yang RDS Dioptimalkan dengan CloudWatch metrik berikut:
+ `FreeLocalStorage`
+ `ReadIOPSLocalStorage`
+ `ReadLatencyLocalStorage`
+ `ReadThroughputLocalStorage`
+ `WriteIOPSLocalStorage`
+ `WriteLatencyLocalStorage`
+ `WriteThroughputLocalStorage`

Metrik ini menyediakan data tentang penyimpanan penyimpanan instans yang tersedia,IOPS, dan throughput. Untuk informasi selengkapnya tentang metrik ini, lihat [Metrik CloudWatch tingkat instans Amazon untuk Amazon RDS](rds-metrics.md#rds-cw-metrics-instance).

## Batasan untuk Bacaan yang RDS Dioptimalkan
<a name="rds-optimized-reads-limitations"></a>

Batasan berikut berlaku untuk Bacaan yang RDS Dioptimalkan:
+ RDSBacaan yang Dioptimalkan didukung untuk versi berikut:
  + RDSuntuk SQL versi Saya 8.0.28 dan versi mayor dan minor yang lebih tinggi

  Untuk informasi tentang RDS SQL versi Saya, lihat[Versi MySQL di Amazon RDS](MySQL.Concepts.VersionMgmt.md).
+ Anda tidak dapat mengubah lokasi objek sementara menjadi penyimpanan persisten (AmazonEBS) pada kelas instans DB yang mendukung Pembacaan yang RDS Dioptimalkan.
+ Saat pencatatan log biner pada instans DB diaktifkan, ukuran transaksi maksimum dibatasi oleh ukuran penyimpanan instans. Di MySQL, setiap sesi yang membutuhkan lebih banyak penyimpanan daripada nilai transaksi `binlog_cache_size` tulis berubah menjadi file cache binlog sementara, yang dibuat di penyimpanan instance.
+ Transaksi dapat gagal ketika penyimpanan instans penuh.

# Meningkatkan performa penulisan dengan RDS Optimized Writes for MySQL
<a name="rds-optimized-writes"></a>

Anda dapat meningkatkan performa transaksi penulisan dengan RDS Optimized Writes for MySQL. Ketika basis data RDS for MySQL Anda menggunakan RDS Optimized Writes, RDS dapat mencapai throughput transaksi penulisan hingga dua kali lebih tinggi.

**Topics**
+ [Ikhtisar RDS Optimized Writes](#rds-optimized-writes-overview)
+ [Menggunakan RDS Optimized Writes](#rds-optimized-writes-using)
+ [Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada](#rds-optimized-writes-modify-enable)
+ [Batasan RDS Optimized Writes](#rds-optimized-writes-limitations)

## Ikhtisar RDS Optimized Writes
<a name="rds-optimized-writes-overview"></a>

Ketika RDS Optimized Writes diaktifkan, basis data RDS for MySQL Anda hanya akan menulis satu kali saat melakukan flushing data ke penyimpanan yang kuat tanpa memerlukan buffer penulisan ganda. Basis data terus melindungi properti ACID untuk menghasilkan transaksi basis data yang andal dan meningkatkan performa.

Basis data relasional, seperti MySQL, menyediakan *properti ACID* seperti atomisitas, konsistensi, isolasi, dan daya tahan untuk transaksi basis data yang andal. Untuk membantu menyediakan properti ini, MySQL menggunakan area penyimpanan data yang disebut *buffer penulisan ganda* yang mencegah kesalahan penulisan sebagian halaman. Kesalahan ini terjadi ketika ada kegagalan perangkat keras saat basis data memperbarui halaman, seperti dalam kasus pemadaman listrik. Basis data MySQL dapat mendeteksi penulisan sebagian halaman dan memulihkan dengan salinan halaman di buffer penulisan ganda. Selain memberikan perlindungan, teknik ini juga menambah operasi penulisan. Untuk informasi selengkapnya tentang buffer penulisan ganda MySQL, lihat [Doublewrite Buffer](https://dev.mysql.com/doc/refman/8.0/en/innodb-doublewrite-buffer.html) dalam dokumentasi MySQL.

Saat RDS Optimized Writes diaktifkan, basis data RDS for MySQL hanya menulis satu kali saat melakukan flushing data ke penyimpanan yang kuat tanpa menggunakan buffer penulisan ganda. RDS Optimized Writes berguna jika Anda menjalankan beban kerja penulisan berat pada basis data RDS for MySQL. Contoh basis data dengan beban kerja penulisan berat antara lain basis data yang mendukung pembayaran digital, perdagangan finansial, dan aplikasi game.

Database ini berjalan pada kelas instans DB yang menggunakan Sistem AWS Nitro. Karena konfigurasi perangkat keras dalam sistem ini, basis data dapat menulis halaman 16-KiB secara langsung ke file data secara andal dan kuat dalam satu langkah. Sistem AWS Nitro memungkinkan RDS Optimized Writes.

Anda dapat mengatur `rds.optimized_writes` parameter basis data baru untuk mengontrol fitur RDS Optimized Writes untuk basis data RDS for MySQL. Akses parameter ini dalam kelompok parameter DB RDS untuk MySQL versi 8.0 dan RDS untuk MySQL versi 8.4. Tetapkan parameter menggunakan nilai berikut:
+ `AUTO` – Aktifkan RDS Optimized Writes jika didukung oleh basis data. Nonaktifkan RDS Optimized Writes jika tidak didukung basis data. Ini adalah pengaturan default.
+ `OFF` – Nonaktifkan RDS Optimized Writes meski didukung oleh basis data.

Jika Anda memiliki database yang ada dengan versi mesin, kelas instans DB, and/or file system format that doesn't support RDS Optimized Writes, you can enable the feature by creating a blue/green penyebaran. Untuk informasi selengkapnya, lihat [Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada](#rds-optimized-writes-modify-enable).

Jika Anda memigrasikan basis data RDS for MySQL yang dikonfigurasi untuk menggunakan RDS Optimized Writes ke kelas instans DB yang tidak mendukung fitur tersebut, RDS secara otomatis menonaktifkan RDS Optimized Writes untuk basis data tersebut.

Saat RDS Optimized Writes dinonaktifkan, basis data akan menggunakan buffer penulisan ganda MySQL.

Untuk menentukan apakah basis data RDS for MySQL menggunakan RDS Optimized Writes, lihat nilai parameter `innodb_doublewrite` saat ini untuk basis data. Jika basis data menggunakan RDS Optimized Writes, parameter ini diatur ke `FALSE` (`0`).

## Menggunakan RDS Optimized Writes
<a name="rds-optimized-writes-using"></a>

Anda dapat mengaktifkan RDS Optimized Writes saat membuat database RDS untuk MySQL dengan konsol RDS, API, atau RDS. AWS CLI RDS Optimized Writes diaktifkan secara otomatis ketika kedua kondisi berikut berlaku selama pembuatan basis data:
+ Anda menentukan versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes. 
  + RDS Optimized Writes didukung untuk RDS for MySQL versi 8.0.30 dan yang lebih tinggi. Untuk informasi tentang versi RDS for MySQL, lihat [Versi MySQL di Amazon RDS](MySQL.Concepts.VersionMgmt.md).
  + RDS Optimized Writes didukung untuk basis data RDS for MySQL yang menggunakan kelas instans DB berikut:
    + db.m7i
    + db.m7g
    + db.m6g
    + db.m6gd
    + db.m6i
    + db.m5
    + db.m5d
    + db.r7i
    + db.r7g
    + db.r6g
    + db.r6gd
    + db.r6i
    + db.r5
    + db.r5b
    + db.r5d
    + db.x2idn
    + db.x2iedn

    Untuk informasi tentang kelas instans DB, lihat [ DB](Concepts.DBInstanceClass.md).

    Ketersediaan kelas instans DB berbeda untuk Wilayah AWS. Untuk menentukan apakah kelas instans DB didukung secara spesifik Wilayah AWS, lihat[Menentukan dukungan kelas instans DB di Wilayah AWS](Concepts.DBInstanceClass.RegionSupport.md).

    Untuk meng-upgrade database Anda ke kelas instans DB yang mendukung RDS Optimized Writes, Anda dapat membuat blue/green penerapan. Untuk informasi selengkapnya, lihat [Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada](#rds-optimized-writes-modify-enable).
+ Dalam grup parameter yang terkait dengan basis data, parameter `rds.optimized_writes` diatur ke `AUTO`. Dalam grup parameter default, parameter ini selalu diatur ke `AUTO`.

Jika Anda ingin menggunakan versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes, tetapi tidak ingin menggunakan fitur ini, tentukan grup parameter kustom saat Anda membuat basis data. Dalam grup parameter ini, atur parameter `rds.optimized_writes` ke `OFF`. Agar nantinya basis data menggunakan RDS Optimized Writes, Anda dapat mengatur parameter ke `AUTO` untuk mengaktifkannya. Untuk informasi tentang pembuatan grup parameter kustom dan pengaturan parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).

Untuk informasi tentang pembuatan instans DB, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).

### Konsol
<a name="rds-optimized-writes-using-console"></a>

Saat menggunakan konsol RDS untuk membuat basis data RDS for MySQL, Anda dapat memfilter versi mesin DB dan kelas instans DB yang mendukung RDS Optimized Writes. Setelah mengaktifkan filter, Anda dapat memilih versi mesin DB dan kelas instans DB yang tersedia.

Untuk memilih versi mesin DB yang mendukung RDS Optimized Writes, filter versi mesin DB RDS for MySQL yang mendukungnya di **Versi mesin**, lalu pilih versi.

![\[Bagian opsi Engine dengan filter Amazon RDS Optimized Writes diaktifkan untuk Versi Engine.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/rds-optimized-writes-version-filter.png)


Di bagian **Konfigurasi instans**, gunakan filter untuk menemukan kelas instans DB yang mendukung RDS Optimized Writes, lalu pilih kelas instans DB.

![\[Bagian konfigurasi Instans dengan filter Amazon RDS Optimized Writes diaktifkan untuk kelas instans DB.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/rds-optimized-writes-class-filter.png)


Setelah menentukan pilihan ini, Anda dapat memilih pengaturan lain sesuai kebutuhan dan menyelesaikan pembuatan basis data RDS for MySQL dengan konsol.

### AWS CLI
<a name="rds-optimized-writes-using-cli"></a>

Untuk membuat instance DB dengan menggunakan AWS CLI, jalankan [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)perintah. Pastikan nilai `--engine-version` dan `--db-instance-class` mendukung RDS Optimized Writes. Selain itu, pastikan parameter `rds.optimized_writes` untuk grup parameter yang terkait dengan instans DB telah diatur ke `AUTO`. Contoh ini mengaitkan grup parameter default dengan instans DB.

**Example Membuat instans DB yang menggunakan RDS Optimized Writes**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --engine mysql \
4.     --engine-version 8.0.30 \
5.     --db-instance-class db.r5b.large \
6.     --manage-master-user-password \
7.     --master-username admin \
8.     --allocated-storage 200
```
Untuk Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --engine mysql ^
4.     --engine-version 8.0.30 ^
5.     --db-instance-class db.r5b.large ^
6.     --manage-master-user-password ^
7.     --master-username admin ^
8.     --allocated-storage 200
```

### API RDS
<a name="rds-optimized-writes-using-api"></a>

Anda dapat membuat instance DB menggunakan DBInstance operasi [Create](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Saat Anda menggunakan operasi ini, pastikan nilai `EngineVersion` dan `DBInstanceClass` mendukung RDS Optimized Writes. Selain itu, pastikan parameter `rds.optimized_writes` untuk grup parameter yang terkait dengan instans DB telah diatur ke `AUTO`. 

## Mengaktifkan RDS Optimized Writes pada basis data yang sudah ada
<a name="rds-optimized-writes-modify-enable"></a>

Untuk mengubah basis data RDS for MySQL yang sudah ada untuk mengaktifkan RDS Optimized Writes, basis data harus dibuat dengan versi mesin DB dan kelas instans DB yang didukung. Selain itu, basis data harus sudah dibuat *setelah* RDS Optimized Writes dirilis pada 27 November 2022, karena konfigurasi sistem file yang diperlukan tidak kompatibel dengan basis data yang dibuat sebelum dirilis. Jika kondisi ini terpenuhi, Anda dapat mengaktifkan RDS Optimized Writes dengan mengatur parameter `rds.optimized_writes` ke `AUTO`.

Jika database Anda *tidak* dibuat dengan versi engine, kelas instans, atau konfigurasi sistem file yang didukung, Anda dapat menggunakan RDS Blue/Green Deployment untuk bermigrasi ke konfigurasi yang didukung. Saat membuat blue/green penerapan, lakukan hal berikut:
+ Pilih **Aktifkan Optimized Writes pada basis data hijau**, lalu tentukan versi mesin dan kelas instans DB yang mendukung RDS Optimized Writes. Untuk daftar versi mesin dan kelas instans yang didukung, lihat [Menggunakan RDS Optimized Writes](#rds-optimized-writes-using). 
+ Di bagian **Penyimpanan**, pilih **Tingkatkan konfigurasi sistem file penyimpanan**. Opsi ini meningkatkan basis data ke konfigurasi sistem file dasar yang kompatibel.

Saat Anda membuat blue/green penerapan, jika `rds.optimized_writes` parameter disetel ke`AUTO`, RDS Optimized Writes akan diaktifkan secara otomatis di lingkungan hijau. Anda kemudian dapat mengalihkan blue/green penyebaran, yang mempromosikan lingkungan hijau menjadi lingkungan produksi baru.

Untuk informasi selengkapnya, lihat [](blue-green-deployments-creating.md).

## Batasan RDS Optimized Writes
<a name="rds-optimized-writes-limitations"></a>

Saat Anda memulihkan basis data RDS for MySQL dari snapshot, Anda hanya bisa mengaktifkan RDS Optimized Writes untuk basis data jika semua kondisi berikut terpenuhi:
+ Snapshot dibuat dari basis data yang mendukung RDS Optimized Writes.
+ Snapshot dibuat dari basis data yang dibuat *setelah* RDS Optimized Writes dirilis.
+ Snapshot dikembalikan ke basis data yang mendukung RDS Optimized Writes.
+ Basis data yang dipulihkan berkaitan dengan grup parameter yang parameter `rds.optimized_writes`-nya diatur ke `AUTO`.

# Upgrade RDS untuk mesin MySQL DB
<a name="USER_UpgradeDBInstance.MySQL"></a>

Ketika Amazon RDS mendukung versi baru mesin basis data, Anda dapat meningkatkan instans DB Anda ke versi baru. Ada dua jenis peningkatan untuk basis data MySQL: peningkatan versi mayor dan peningkatan versi minor. 

**Peningkatan versi mayor**  
*Peningkatan versi mayor* dapat berisi perubahan basis data yang tidak memiliki kompatibilitas mundur dengan aplikasi yang ada. Oleh karena itu, Anda harus melakukan peningkatan versi mayor untuk instans DB Anda secara manual. Anda dapat memulai peningkatan versi mayor dengan mengubah instans DB Anda. Sebelum Anda melakukan peningkatan versi mayor, kami sarankan agar Anda mengikuti petunjuk dalam [Upgrade versi utama untuk RDS untuk MySQL](USER_UpgradeDBInstance.MySQL.Major.md).  
Untuk peningkatan versi utama penerapan instans DB multi-AZ, Amazon RDS secara bersamaan meningkatkan replika primer dan siaga. Instans DB Anda tidak akan tersedia hingga peningkatan selesai. Untuk peningkatan versi utama penerapan klaster DB multi-AZ, Amazon RDS memutakhirkan instance anggota cluster satu per satu.  
Anda dapat meminimalkan waktu henti yang diperlukan untuk peningkatan versi utama dengan menggunakan blue/green penerapan. Untuk informasi selengkapnya, lihat [Menggunakan Amazon RDS Blue/Green Aurora Deployment untuk pembaruan database](blue-green-deployments.md).

**Peningkatan versi minor**  
*Peningkatan versi minor* hanya mencakup perubahan yang memiliki kompatibilitas mundur dengan aplikasi yang ada. Anda dapat memulai peningkatan versi minor secara manual dengan memodifikasi instans DB Anda. Atau Anda dapat mengaktifkan opsi **Peningkatan versi minor otomatis** saat membuat atau memodifikasi instans DB. Tindakan ini akan membuat Amazon RDS secara otomatis meningkatkan instans DB Anda setelah menguji dan menyetujui versi baru. Untuk informasi tentang melakukan peningkatan, lihat [Meningkatkan versi mesin instans DB ](USER_UpgradeDBInstance.Upgrading.md).  
Saat Anda melakukan peningkatan versi minor klaster DB Multi-AZ, Amazon RDS meningkatkan instans DB pembaca satu per satu. Kemudian, salah satu instans DB pembaca beralih menjadi instans DB penulis baru. Amazon RDS kemudian meningkatkan instans penulis lama (yang sekarang menjadi instans pembaca).  
Waktu henti untuk peningkatan versi minor deployment *instans* DB Multi-AZ dapat berlangsung selama beberapa menit. Klaster DB Multi-AZ biasanya mengurangi waktu henti peningkatan versi minor menjadi sekitar 35 detik. Saat digunakan dengan Proksi RDS, Anda dapat mengurangi waktu henti menjadi satu detik atau kurang. Untuk informasi selengkapnya, lihat [Proksi Amazon RDS Aurora](rds-proxy.md). [Sebagai alternatif, Anda dapat menggunakan proxy database open source seperti [ProxySQL](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-of-downtime-with-proxysql-when-upgrading-amazon-rds-multi-az-deployments-with-two-readable-standbys/),, atau Advanced JDBC [PgBouncer](https://aws.amazon.com/blogs/database/fast-switchovers-with-pgbouncer-on-amazon-rds-multi-az-deployments-with-two-readable-standbys-for-postgresql/)Wrapper Driver.AWS](https://aws.amazon.com/blogs/database/achieve-one-second-or-less-downtime-with-the-advanced-jdbc-wrapper-driver-when-upgrading-amazon-rds-multi-az-db-clusters/)

Amazon RDS juga mendukung kebijakan peluncuran pemutakhiran untuk mengelola peningkatan versi minor otomatis di beberapa sumber daya database dan. Akun AWS Untuk informasi selengkapnya, lihat [Menggunakan kebijakan peluncuran AWS Organizations pemutakhiran untuk peningkatan versi minor otomatis](RDS.Maintenance.AMVU.UpgradeRollout.md).

Jika instans DB MySQL Anda menggunakan replika baca, maka Anda harus meningkatkan semua replika baca sebelum meningkatkan instans sumber.

**Topics**
+ [Pertimbangan untuk peningkatan MySQL](#USER_UpgradeDBInstance.MySQL.Considerations)
+ [Menemukan target peningkatan yang valid](#USER_UpgradeDBInstance.MySQL.FindingTargets)
+ [Nomor versi MySQL](USER_UpgradeDBInstance.MySQL.VersionID.md)
+ [Nomor versi RDS di RDS untuk MySQL](USER_UpgradeDBInstance.MySQL.rds.version.md)
+ [Upgrade versi utama untuk RDS untuk MySQL](USER_UpgradeDBInstance.MySQL.Major.md)
+ [Menguji RDS untuk SQL peningkatan Saya](USER_UpgradeDBInstance.MySQL.UpgradeTesting.md)
+ [Meningkatkan instans DB MySQL](#USER_UpgradeDBInstance.MySQL.Upgrading)
+ [Upgrade versi minor otomatis RDS untuk My SQL](USER_UpgradeDBInstance.MySQL.Minor.md)
+ [Menggunakan replika baca untuk mengurangi waktu henti saat memutakhirkan RDS untuk database MySQL](USER_UpgradeDBInstance.MySQL.ReducedDowntime.md)
+ [Memantau RDS untuk upgrade mesin MySQL dengan acara](USER_UpgradeDBInstance.MySQL.Monitoring.md)

## Pertimbangan untuk peningkatan MySQL
<a name="USER_UpgradeDBInstance.MySQL.Considerations"></a>

Amazon RDS mengambil dua atau lebih snapshot DB selama proses peningkatan. Amazon RDS mengambil hingga dua snapshot dari instans DB *sebelum* melakukan perubahan peningkatan. Jika peningkatan tidak berfungsi untuk basis data Anda, Anda dapat memulihkan salah satu snapshot ini untuk membuat instans DB yang menjalankan versi lama. Amazon RDS mengambil snapshot lain dari instans DB saat peningkatan selesai. Amazon RDS mengambil snapshot ini terlepas dari apakah AWS Backup mengelola cadangan untuk instans DB. 

**catatan**  
Amazon RDS hanya mengambil snapshot DB jika Anda telah mengatur periode retensi cadangan untuk instans DB Anda ke angka yang lebih besar dari 0. Untuk mengubah periode retensi cadangan Anda, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

Setelah peningkatan selesai, Anda tidak dapat kembali ke versi mesin basis data sebelumnya. Jika Anda ingin kembali ke versi yang lebih lama, pulihkan snapshot DB pertama yang diambil untuk membuat instans DB baru. 

Anda mengontrol waktu untuk meningkatkan instans DB Anda ke versi baru yang didukung oleh Amazon RDS. Tingkat kontrol ini membantu Anda menjaga kompatibilitas dengan versi basis data spesifik dan menguji versi baru untuk aplikasi Anda sebelum menerapkannya dalam produksi. Saat Anda siap, Anda dapat melakukan peningkatan versi pada waktu yang paling cocok dengan jadwal Anda. 

Jika instans DB Anda menggunakan replikasi baca, maka Anda harus meningkatkan semua replika baca sebelum meningkatkan instans sumber.

## Menemukan target peningkatan yang valid
<a name="USER_UpgradeDBInstance.MySQL.FindingTargets"></a>

Saat Anda menggunakan Konsol Manajemen AWS untuk memutakhirkan instans DB, ini menunjukkan target pemutakhiran yang valid untuk instans DB. Anda juga dapat menjalankan AWS CLI perintah berikut untuk mengidentifikasi target pemutakhiran yang valid untuk instans DB:

Untuk Linux, macOS, atau Unix:

```
aws rds describe-db-engine-versions \
  --engine mysql \
  --engine-version version_number \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

Untuk Windows:

```
aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version version_number ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

Misalnya, untuk mengidentifikasi target pemutakhiran yang valid untuk instance MySQL versi 8.0.28 DB, jalankan perintah berikut: AWS CLI 

Untuk Linux, macOS, atau Unix:

```
aws rds describe-db-engine-versions \
  --engine mysql \
  --engine-version 8.0.28 \
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

Untuk Windows:

```
aws rds describe-db-engine-versions ^
  --engine mysql ^
  --engine-version 8.0.28 ^
  --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

# Nomor versi MySQL
<a name="USER_UpgradeDBInstance.MySQL.VersionID"></a>

*Urutan penomoran versi untuk RDS untuk mesin database MySQL baik dalam bentuk major.minor.patch.yyyymmdd atau *major.minor.patch*, misalnya, 8.0.33.R2.20231201 atau 5.7.44.* Format yang digunakan tergantung pada versi mesin MySQL. Untuk informasi tentang penomoran versi RDS Extended Support, lihat. [Penamaan versi Amazon RDS Extended Support](extended-support-versions.md#extended-support-naming)

**mayor**  
Nomor versi utama adalah bilangan bulat dan bagian fraksional pertama dari nomor versi, misalnya, 8.0. Peningkatan versi mayor akan meningkatkan bagian mayor dari nomor versi. Misalnya, upgrade dari *5.7* .44 ke 8.0.33 adalah upgrade versi utama, di mana *5.7* dan *8.0* adalah nomor versi utama.

**kecil**  
Nomor versi minor adalah bagian ketiga dari nomor versi, misalnya, 33 di 8.0.33.

**tambalan**  
Patch adalah bagian keempat dari nomor versi, misalnya, R2 di 8.0.33.R2. Versi patch RDS mencakup perbaikan bug penting yang ditambahkan ke versi minor setelah dirilis.

**YYYMMDD**  
Tanggal adalah bagian kelima dari nomor versi, misalnya, 20231201 di 8.0.33.R2.20231201. Versi tanggal RDS adalah patch keamanan yang mencakup perbaikan keamanan penting yang ditambahkan ke versi minor setelah dirilis. Itu tidak termasuk perbaikan apa pun yang mungkin mengubah perilaku mesin.

Tabel berikut menjelaskan skema penamaan untuk RDS untuk MySQL versi 8.4.


| 8.4 versi minor | Skema penamaan | 
| --- | --- | 
|  ≥ 3  |  Instans DB baru menggunakan *major.minor.patch.YYMMDD, misalnya, 8.4.3.R2.20241201*. Instans DB yang ada mungkin menggunakan *major.minor.patch*, misalnya, 8.4.3.R2, hingga peningkatan versi mayor atau minor berikutnya. | 

Tabel berikut menjelaskan skema penamaan untuk RDS untuk MySQL versi 8.0. 


| 8.0 versi minor | Skema penamaan | 
| --- | --- | 
|  ≥ 33  |  Instans DB baru menggunakan *major.minor.patch.YYMMDD, misalnya, 8.0.33.R2.20231201*. Instans DB yang ada mungkin menggunakan *major.minor.patch*, misalnya, 8.0.33.R2, hingga versi mayor atau minor Anda berikutnya ditingkatkan.  | 
|  < 33  |  Instans DB yang ada menggunakan *major.minor.patch*, misalnya, 8.0.32.R2.  | 

Tabel berikut menjelaskan skema penamaan untuk RDS untuk MySQL versi 5.7.


| 5.7 versi minor | Skema penamaan | 
| --- | --- | 
|  ≥ 42  |  Instans DB baru menggunakan *major.minor.patch.YYMMDD, misalnya, 5.7.42.R2.20231201*. Instans DB yang ada mungkin menggunakan *major.minor.patch*, misalnya, 5.7.42.R2, hingga versi mayor atau minor Anda berikutnya ditingkatkan.  | 

# Nomor versi RDS di RDS untuk MySQL
<a name="USER_UpgradeDBInstance.MySQL.rds.version"></a>

Nomor versi RDS menggunakan skema `major.minor.patch` atau `major.minor.patch.YYYYMMDD` penamaan. Versi Amazon RDS Extended Support menggunakan skema penamaan versi *minor-RDS.YYYYMMDD* minor.

Versi patch RDS mencakup perbaikan bug penting yang ditambahkan ke versi minor setelah dirilis. Versi tanggal RDS (*YYYYMMDD*) adalah patch keamanan. Patch keamanan tidak menyertakan perbaikan apa pun yang dapat mengubah perilaku mesin. Untuk informasi tentang penomoran versi RDS Extended Support, lihat. [Penamaan versi Amazon RDS Extended Support](extended-support-versions.md#extended-support-naming)

Anda dapat mengetahui nomor versi RDS dari database RDS untuk MySQL Anda dengan kueri SQL berikut:

```
mysql> select mysql.rds_version();
```

Misalnya, query RDS untuk MySQL 8.0.34 database mengembalikan output berikut:

```
+---------------------+
| mysql.rds_version() |
+---------------------+
| 8.0.34.R2.20231201  |
+---------------------+
1 row in set (0.01 sec)
```

# Upgrade versi utama untuk RDS untuk MySQL
<a name="USER_UpgradeDBInstance.MySQL.Major"></a>

Amazon RDS mendukung peningkatan di tempat berikut untuk versi mayor mesin basis data MySQL:
+ MySQL 5.7 ke MySQL 8.0
+ MySQL 8.0 ke MySQL 8.4

**catatan**  
Anda hanya dapat membuat instans MySQL versi 5.7, 8.0, dan 8.4 DB dengan kelas instans DB generasi terbaru dan generasi saat ini.   
Dalam beberapa kasus, Anda ingin memutakhirkan instans DB yang berjalan pada kelas instans DB generasi sebelumnya ke instans DB dengan versi mesin MySQL yang lebih tinggi. Dalam hal ini, pertama-tama modifikasi instans DB untuk menggunakan kelas instans DB generasi terbaru atau generasi saat ini. Setelah Anda melakukan ini, Anda kemudian dapat memodifikasi instance DB untuk menggunakan versi mesin database MySQL yang lebih tinggi. Untuk informasi kelas instans DB Amazon RDS, lihat [ DB](Concepts.DBInstanceClass.md).

**Topics**
+ [Gambaran umum peningkatan versi mayor MySQL](#USER_UpgradeDBInstance.MySQL.Major.Overview)
+ [Prececks untuk peningkatan](#USER_UpgradeDBInstance.MySQL.Prechecks)
+ [Rollback setelah gagal memutakhirkan](#USER_UpgradeDBInstance.MySQL.Major.RollbackAfterFailure)

## Gambaran umum peningkatan versi mayor MySQL
<a name="USER_UpgradeDBInstance.MySQL.Major.Overview"></a>

Peningkatan versi mayor dapat berisi perubahan basis data yang tidak memiliki kompatibilitas mundur dengan aplikasi yang ada. Akibatnya, Amazon RDS tidak menerapkan peningkatan versi mayor secara otomatis; Anda harus memodifikasi instans DB secara manual. Kami menyarankan Anda untuk menguji peningkatan apa pun secara menyeluruh sebelum menerapkannya ke instans produksi Anda. 

Untuk melakukan upgrade versi utama, pertama-tama lakukan pembaruan OS yang tersedia. Setelah pembaruan OS selesai, tingkatkan ke setiap versi utama, misalnya, 5.7 ke 8.0 dan kemudian 8.0 ke 8.4. Untuk informasi tentang memutakhirkan RDS untuk MySQL Multi-AZ DB cluster, lihat. [Memutakhirkan versi mesin cluster DB multi-AZ untuk Amazon RDS](multi-az-db-clusters-upgrading.md) Instans DB MySQL yang dibuat sebelum tanggal 24 April 2014 akan menunjukkan pembaruan OS yang tersedia hingga pembaruan ini diterapkan. Untuk informasi selengkapnya tentang pembaruan OS, lihat [Menerapkan pembaruan ke instans DB](USER_UpgradeDBInstance.Maintenance.md#USER_UpgradeDBInstance.OSUpgrades). 

Selama peningkatan versi mayor MySQL, Amazon RDS menjalankan `mysql_upgrade` biner MySQL untuk meningkatkan tabel, jika perlu. Selain itu, Amazon RDS mengosongkan tabel `slow_log` dan `general_log` selama peningkatan versi mayor. Untuk mempertahankan informasi log, simpan konten log sebelum peningkatan versi mayor. 

Peningkatan versi mayor MySQL biasanya selesai dalam waktu sekitar 10 menit. Beberapa peningkatan mungkin memakan waktu lebih lama karena ukuran kelas instans DB atau karena instans tidak mengikuti panduan operasional tertentu dalam [Praktik terbaik untuk Amazon RDS](CHAP_BestPractices.md). Jika Anda meningkatkan instans DB dari konsol Amazon RDS, status instans DB menunjukkan waktu peningkatan selesai. Jika Anda meningkatkan menggunakan AWS Command Line Interface (AWS CLI), gunakan [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah dan periksa `Status` nilainya. 

## Prececks untuk peningkatan
<a name="USER_UpgradeDBInstance.MySQL.Prechecks"></a>

Amazon RDS menjalankan prechecks sebelum memutakhirkan untuk memeriksa ketidakcocokan. Ketidakcocokan ini bervariasi berdasarkan versi MySQL yang ditingkatkan ke. 

Sebagian pra-pemeriksaan disertakan dengan MySQL dan sebagian lainnya dibuat secara khusus oleh tim Amazon RDS. Untuk informasi tentang pra-pemeriksaan yang disediakan oleh MySQL, lihat [Peningkatan checker utility](https://dev.mysql.com/doc/mysql-shell/8.4/en/mysql-shell-utilities-upgrade.html).

Pra-pemeriksaan berjalan sebelum instans DB dihentikan untuk peningkatan, sehingga instans tersebut tidak akan menyebabkan waktu henti ketika berjalan. Jika pra-pemeriksaan menemukan inkompatibilitas, Amazon RDS secara otomatis membatalkan peningkatan sebelum instans DB dihentikan. Amazon RDS juga menghasilkan peristiwa untuk inkompatibilitas. Untuk informasi selengkapnya tentang peristiwa Amazon RDS, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).

Amazon RDS mencatat informasi terperinci tentang setiap inkompatibilitas dalam file log `PrePatchCompatibility.log`. Dalam kebanyakan kasus, entri log berisi tautan ke dokumentasi MySQL untuk mengoreksi inkompatibilitas. Untuk informasi selengkapnya tentang format file log, lihat [Melihat dan mencantumkan file log basis data](USER_LogAccess.Procedural.Viewing.md).

Karena sifat prechecks, mereka menganalisis objek dalam database Anda. Analisis ini mengakibatkan konsumsi sumber daya dan menambah waktu penyelesaian peningkatan.

**Topics**
+ [Prececks untuk upgrade dari MySQL 8.0 ke 8.4](#USER_UpgradeDBInstance.MySQL.80to84Prechecks)
+ [Pra-pemeriksaan untuk peningkatan dari MySQL 5.7 ke 8.0](#USER_UpgradeDBInstance.MySQL.57to80Prechecks)

### Prececks untuk upgrade dari MySQL 8.0 ke 8.4
<a name="USER_UpgradeDBInstance.MySQL.80to84Prechecks"></a>

MySQL 8.4 mencakup sejumlah ketidakcocokan dengan MySQL 8.0. Ketidakcocokan ini dapat menyebabkan masalah selama upgrade dari MySQL 8.0 ke MySQL 8.4. Jadi, beberapa persiapan mungkin diperlukan di basis data Anda agar peningkatan berhasil. Berikut ini adalah daftar umum inkompatibilitas tersebut:
+ Tidak boleh ada tabel yang menggunakan jenis atau fungsi data yang usang.
+ Pemicu tidak boleh memiliki pendefinisi yang hilang atau kosong atau konteks pembuatan yang tidak valid.
+ Tidak boleh ada pelanggaran terkait kata kunci atau kata yang digunakan sistem. Beberapa kata kunci mungkin dicadangkan di MySQL 8.4 yang tidak dicadangkan sebelumnya.

  Untuk informasi selengkapnya, lihat [Keywords and reserved words](https://dev.mysql.com/doc/refman/8.4/en/keywords.html) dalam dokumentasi MySQL.
+ Tidak boleh ada tabel dalam database sistem MySQL `mysql` 8.0 yang memiliki nama yang sama dengan tabel yang digunakan oleh kamus data MySQL 8.4.
+ Tidak boleh ada mode SQL usang yang ditentukan dalam pengaturan variabel sistem `sql_mode` Anda.
+ Tidak boleh ada tabel atau prosedur tersimpan dengan elemen kolom individu `ENUM` atau `SET` dengan panjang melebihi 255 karakter atau 1020 byte.
+ Instalasi MySQL 8.0 Anda tidak boleh menggunakan fitur yang tidak didukung di MySQL 8.4.

  Untuk informasi selengkapnya, lihat [Fitur yang dihapus di MySQL 8.4 dalam dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html#mysql-nutshell-removals).
+ Tidak boleh ada nama pembatasan kunci asing yang lebih panjang dari 64 karakter.
+ Untuk dukungan Unicode yang lebih baik, tinjau informasi berikut:
  + Pertimbangkan untuk mengonversi objek yang menggunakan `utf8mb3` charset untuk menggunakan charset. `utf8mb4` Set karakter `utf8mb3` sudah tidak digunakan lagi.
  + Pertimbangkan `utf8mb4` untuk menggunakan referensi kumpulan karakter alih-alih`utf8`, karena saat ini `utf8` adalah alias untuk `utf8mb3` charset. Jika memungkinkan, ubah `utf8` ke yang `utf8mb4` pertama, lalu tingkatkan database Anda. 
  + Karena klien yang lebih tua dapat menerima kesalahan set karakter yang tidak dikenal`utf8mb3`, tingkatkan klien database Anda sebelum memutakhirkan database Anda. 

  Untuk informasi selengkapnya, lihat [The utf8mb3 character set (3-byte UTF-8 unicode encoding)](https://dev.mysql.com/doc/refman/8.4/en/charset-unicode-utf8mb3.html) dalam dokumentasi MySQL.

  Untuk mengubah set karakter, Anda dapat secara manual melakukan backup, restore, dan replikasi database Anda. Atau Anda dapat menggunakan Amazon RDS Blue/Green Deployment. Untuk informasi selengkapnya, lihat [Menggunakan Amazon RDS Blue/Green Aurora Deployment untuk pembaruan database](blue-green-deployments.md).

Saat Anda memulai pemutakhiran dari MySQL 8.0 ke 8.4, Amazon RDS menjalankan prechecks secara otomatis untuk mendeteksi ketidakcocokan ini. Untuk informasi tentang upgrade ke MySQL 8.4, [lihat](https://dev.mysql.com/doc/refman/8.4/en/upgrading.html) Upgrade MySQL dalam dokumentasi MySQL.

Pra-pemeriksaan ini wajib dilakukan. Anda tidak dapat memilih untuk melewatinya. Pra-pemeriksaan menyediakan manfaat berikut:
+ Hal ini memungkinkan Anda menghindari waktu henti yang tidak direncanakan selama peningkatan.
+ Jika ada inkompatibilitas, Amazon RDS mencegah peningkatan dan menyediakan log bagi Anda untuk mempelajarinya. Anda kemudian dapat menggunakan log untuk mempersiapkan database Anda untuk upgrade ke MySQL 8.4 dengan mengurangi ketidakcocokan. Untuk informasi rinci tentang menghapus ketidakcocokan, lihat [Mempersiapkan instalasi Anda untuk upgrade](https://dev.mysql.com/doc/refman/8.4/en/upgrade-prerequisites.html) dalam dokumentasi MySQL.

### Pra-pemeriksaan untuk peningkatan dari MySQL 5.7 ke 8.0
<a name="USER_UpgradeDBInstance.MySQL.57to80Prechecks"></a>

MySQL 8.0 menyertakan sejumlah inkompatibilitas dengan MySQL 5.7. Inkompatibilitas ini dapat menyebabkan masalah selama peningkatan dari MySQL 5.7 ke MySQL 8.0. Jadi, beberapa persiapan mungkin diperlukan di basis data Anda agar peningkatan berhasil. Berikut ini adalah daftar umum inkompatibilitas tersebut:
+ Tidak boleh ada tabel yang menggunakan jenis atau fungsi data yang usang.
+ Tidak boleh ada file orphan \$1.frm.
+ Pemicu tidak boleh memiliki pendefinisi yang hilang atau kosong atau konteks pembuatan yang tidak valid.
+ Tidak boleh ada tabel partisi yang menggunakan mesin penyimpanan yang tidak memiliki dukungan partisi native.
+ Tidak boleh ada pelanggaran kata kunci atau kata yang dicadangkan. Beberapa kata kunci mungkin dicadangkan di MySQL 8.0 yang sebelumnya tidak dicadangkan.

  Untuk informasi selengkapnya, lihat [Keywords and reserved words](https://dev.mysql.com/doc/refman/8.0/en/keywords.html) dalam dokumentasi MySQL.
+ Tidak boleh ada tabel di basis data sistem `mysql` MySQL 5.7 yang memiliki nama yang sama dengan tabel yang digunakan oleh kamus data MySQL 8.0.
+ Tidak boleh ada mode SQL usang yang ditentukan dalam pengaturan variabel sistem `sql_mode` Anda.
+ Tidak boleh ada tabel atau prosedur tersimpan dengan elemen kolom individu `ENUM` atau `SET` dengan panjang melebihi 255 karakter atau 1020 byte.
+ Sebelum melakukan peningkatan ke MySQL 8.0.13 atau lebih tinggi, tidak boleh ada partisi tabel yang berada di ruang tabel InnoDB yang dibagikan.
+ Tidak boleh ada kueri dan definisi program tersimpan dari MySQL 8.0.12 atau lebih rendah yang menggunakan pengualifikasi `ASC` atau `DESC` untuk klausa `GROUP BY`.
+ Penginstalan MySQL 5.7 Anda tidak boleh menggunakan fitur yang tidak didukung di MySQL 8.0.

  Untuk informasi selengkapnya, lihat [Features removed in MySQL 8.0](https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals) dalam dokumentasi MySQL.
+ Tidak boleh ada nama batasan kunci asing yang lebih panjang dari 64 karakter.
+ Untuk dukungan Unicode yang lebih baik, tinjau informasi berikut:
  + Pertimbangkan untuk mengonversi objek yang menggunakan `utf8mb3` charset untuk menggunakan charset. `utf8mb4` Set karakter `utf8mb3` sudah tidak digunakan lagi.
  + Pertimbangkan `utf8mb4` untuk menggunakan referensi kumpulan karakter alih-alih`utf8`, karena saat ini `utf8` adalah alias untuk `utf8mb3` charset. Jika memungkinkan, ubah `utf8` ke yang `utf8mb4` pertama, lalu tingkatkan database Anda. 
  + Karena klien yang lebih tua dapat menerima kesalahan set karakter yang tidak dikenal`utf8mb3`, tingkatkan klien database Anda sebelum memutakhirkan database Anda. 

  Untuk informasi selengkapnya, lihat [The utf8mb3 character set (3-byte UTF-8 unicode encoding)](https://dev.mysql.com/doc/refman/8.4/en/charset-unicode-utf8mb3.html) dalam dokumentasi MySQL.

  Untuk mengubah set karakter, Anda dapat secara manual melakukan backup, restore, dan replikasi database Anda. Atau Anda dapat menggunakan Amazon RDS Blue/Green Deployment. Untuk informasi selengkapnya, lihat [Menggunakan Amazon RDS Blue/Green Aurora Deployment untuk pembaruan database](blue-green-deployments.md).

Saat Anda memulai peningkatan dari MySQL 5.7 ke 8.0, Amazon RDS menjalankan pra-pemeriksaan secara otomatis untuk mendeteksi inkompatibilitas ini. Untuk informasi tentang peningkatan ke MySQL 8.0, lihat [Upgrading MySQL](https://dev.mysql.com/doc/refman/8.0/en/upgrading.html) dalam dokumentasi MySQL.

Pra-pemeriksaan ini wajib dilakukan. Anda tidak dapat memilih untuk melewatinya. Pra-pemeriksaan menyediakan manfaat berikut:
+ Hal ini memungkinkan Anda menghindari waktu henti yang tidak direncanakan selama peningkatan.
+ Jika ada inkompatibilitas, Amazon RDS mencegah peningkatan dan menyediakan log bagi Anda untuk mempelajarinya. Kemudian, Anda dapat menggunakan log ini untuk menyiapkan basis data Anda untuk peningkatan ke MySQL 8.0 dengan mengurangi inkompatibilitas. Untuk informasi terperinci tentang cara mengatasi inkompatibilitas, lihat [Preparing your installation for upgrade](https://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.html) dalam dokumentasi MySQL dan [Upgrading to MySQL 8.0? Inilah yang perlu Anda ketahui...](https://dev.mysql.com/blog-archive/upgrading-to-mysql-8-0-here-is-what-you-need-to-know/) di Blog MySQL Server.

## Rollback setelah gagal memutakhirkan
<a name="USER_UpgradeDBInstance.MySQL.Major.RollbackAfterFailure"></a>

Ketika Anda meng-upgrade instans DB dari MySQL versi 5.7 ke MySQL versi 8.0 atau dari MySQL versi 8.0 ke 8.4, upgrade dapat gagal. Secara khusus, tingkatkan dapat gagal jika kamus data memiliki inkompatibilitas yang tidak terdeteksi oleh pra-pemeriksaan. Dalam hal ini, database gagal memulai dengan sukses di versi MySQL 8.0 atau 8.4 yang baru. Pada tahap ini, Amazon RDS melakukan rollback perubahan yang dilakukan untuk peningkatan. Setelah rollback, instance MySQL DB menjalankan versi aslinya:
+ MySQL versi 8.0 (untuk rollback dari MySQL 8.4)
+ MySQL versi 5.7 (untuk rollback dari MySQL 8.0)

Ketika peningkatan gagal dan di-rollback, Amazon RDS menghasilkan peristiwa dengan ID peristiwa RDS-EVENT-0188.

Biasanya, tingkatkan gagal karena ada inkompatibilitas dalam metadata antara basis data dalam instans DB Anda dan versi MySQL target. Ketika peningkatan gagal, Anda dapat melihat detail tentang inkompatibilitas ini dalam file `upgradeFailure.log`. Atasi inkompatibilitas sebelum mencoba meningkatkan kembali.

Selama percobaan peningkatan yang gagal dan rollback, instans DB Anda akan diaktifkan ulang. Perubahan parameter tertunda diterapkan selama pengaktifan ulang ini dan dipersistensi setelah rollback.

Untuk informasi tentang peningkatan ke MySQL 8.0, lihat topik-topik berikut dalam dokumentasi MySQL:
+ [ Mempersiapkan Penginstalan Anda untuk Peningkatan](https://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.html)
+ [ Meningkatkan ke MySQL 8.0? Inilah yang perlu Anda ketahui...](https://dev.mysql.com/blog-archive/upgrading-to-mysql-8-0-here-is-what-you-need-to-know/)

Untuk informasi selengkapnya tentang upgrade ke MySQL 8.4, [lihat Mempersiapkan Instalasi Anda untuk Upgrade](https://dev.mysql.com/doc/refman/8.4/en/upgrade-prerequisites.html) dalam dokumentasi MySQL.

# Menguji RDS untuk SQL peningkatan Saya
<a name="USER_UpgradeDBInstance.MySQL.UpgradeTesting"></a>

Sebelum Anda melakukan peningkatan versi mayor pada instans DB Anda, uji basis data Anda secara menyeluruh untuk kompatibilitas dengan versi baru. Selain itu, uji secara menyeluruh semua aplikasi yang mengakses basis data untuk kompatibilitas dengan versi baru. Kami menyarankan agar Anda menggunakan prosedur berikut.

**Untuk menguji peningkatan versi mayor**

1. Tinjau dokumentasi peningkatan untuk versi baru mesin basis data untuk melihat apakah ada masalah kompatibilitas yang mungkin memengaruhi basis data atau aplikasi Anda: 
   +  [Perubahan pada SQL 5.7 Saya](http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html) 
   +  [Perubahan pada My SQL 8.0](http://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html) 
   + [Perubahan di My SQL 8.4](http://dev.mysql.com/doc/refman/8.4/en/upgrading-from-previous-series.html) 

1. Jika instans DB Anda adalah anggota dari grup parameter DB kustom, buat grup parameter DB baru dengan pengaturan Anda saat ini yang kompatibel dengan versi mayor yang baru. Tentukan grup parameter DB baru saat Anda meningkatkan instans uji Anda, sehingga pengujian peningkatan Anda memastikan bahwa instans ini berfungsi dengan benar. Untuk informasi selengkapnya tentang cara membuat grup parameter DB, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

1. Buat snapshot DB dari instans DB yang akan ditingkatkan. Untuk informasi selengkapnya, lihat [Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS](USER_CreateSnapshot.md). 

1. Pulihkan snapshot DB untuk membuat instans DB uji baru. Untuk informasi selengkapnya, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md). 

1. Modifikasi instans DB uji baru ini untuk ditingkatkan ke versi baru menggunakan salah satu metode yang dijelaskan sebagai berikut. Jika Anda membuat grup parameter baru di langkah 2, tentukan grup parameter tersebut. 

1. Evaluasi penyimpanan yang digunakan oleh instans yang ditingkatkan untuk menentukan apakah peningkatan memerlukan penyimpanan tambahan. 

1. Jalankan pengujian jaminan kualitas terhadap instans DB yang ditingkatkan sebanyak yang diperlukan untuk memastikan bahwa basis data dan aplikasi Anda berfungsi baik dengan versi baru. Terapkan setiap pengujian baru yang diperlukan untuk mengevaluasi dampak dari masalah kompatibilitas yang Anda identifikasi dalam langkah 1. Uji semua prosedur tersimpan dan fungsi. Arahkan versi pengujian aplikasi Anda ke instans DB yang ditingkatkan. 

1. Jika semua pengujian berhasil, maka lakukan peningkatan pada instans DB produksi Anda. Kami menyarankan agar Anda tidak mengizinkan operasi tulis ke instans DB hingga Anda mengonfirmasi bahwa semuanya berfungsi dengan benar. 

## Meningkatkan instans DB MySQL
<a name="USER_UpgradeDBInstance.MySQL.Upgrading"></a>

Untuk informasi tentang peningkatan instans DB MySQL secara manual atau otomatis, lihat [Meningkatkan versi mesin instans DB ](USER_UpgradeDBInstance.Upgrading.md).

# Upgrade versi minor otomatis RDS untuk My SQL
<a name="USER_UpgradeDBInstance.MySQL.Minor"></a>

Jika Anda menentukan pengaturan berikut saat membuat atau memodifikasi instans DB, Anda dapat melakukan peningkatan instans DB secara otomatis.
+ Pengaturan **Peningkatan versi minor otomatis** diaktifkan.
+ Pengaturan **Periode retensi cadangan** lebih besar dari 0.

Di Konsol Manajemen AWS, pengaturan ini berada di bawah **Konfigurasi tambahan**. Gambar berikut menunjukkan pengaturan **Peningkatan versi minor otomatis**.

![\[Bagian Pemeliharaan dengan Aktifkan pemutakhiran versi minor otomatis dipilih di RDS konsol Amazon.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/amvu.png)


Untuk informasi selengkapnya tentang pengaturan ini, lihat [Pengaturan untuk instans DB](USER_ModifyInstance.Settings.md).

Untuk beberapa RDS untuk versi SQL utama saya di beberapa Wilayah AWS, satu versi minor ditetapkan oleh RDS sebagai versi upgrade otomatis. Setelah versi minor diuji dan disetujui oleh AmazonRDS, pemutakhiran versi minor terjadi secara otomatis selama jendela pemeliharaan Anda. RDStidak secara otomatis menyetel versi minor yang dirilis yang lebih baru sebagai versi pemutakhiran otomatis. Sebelum RDS menunjuk versi upgrade otomatis yang lebih baru, beberapa kriteria dipertimbangkan, seperti berikut ini:
+ Masalah keamanan yang diketahui
+ Bug di versi SQL Komunitas Saya
+ Stabilitas armada secara keseluruhan sejak versi minor dirilis

Anda dapat menjalankan AWS CLI perintah berikut untuk menentukan versi target pemutakhiran minor otomatis saat ini untuk versi SQL minor Saya yang ditentukan secara spesifik Wilayah AWS. 

Untuk Linux, macOS, atau Unix:

```
aws rds describe-db-engine-versions \
--engine mysql \
--engine-version minor_version \
--region region \
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \
--output text
```

Untuk Windows:

```
aws rds describe-db-engine-versions ^
--engine mysql ^
--engine-version minor_version ^
--region region ^
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^
--output text
```

Misalnya, AWS CLI perintah berikut menentukan target pemutakhiran minor otomatis untuk My SQL minor versi 8.0.11 di AS Timur (Ohio) ( Wilayah AWS us-east-2).

Untuk Linux, macOS, atau Unix:

```
aws rds describe-db-engine-versions \
--engine mysql \
--engine-version 8.0.11 \
--region us-east-2 \
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \
--output table
```

Untuk Windows:

```
aws rds describe-db-engine-versions ^
--engine mysql ^
--engine-version 8.0.11 ^
--region us-east-2 ^
--query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^
--output table
```

Output Anda akan seperti yang berikut ini.

```
----------------------------------
|    DescribeDBEngineVersions    |
+--------------+-----------------+
|  AutoUpgrade |  EngineVersion  |
+--------------+-----------------+
|  False       |  8.0.15         |
|  False       |  8.0.16         |
|  False       |  8.0.17         |
|  False       |  8.0.19         |
|  False       |  8.0.20         |
|  False       |  8.0.21         |
|  True        |  8.0.23         |
|  False       |  8.0.25         |
+--------------+-----------------+
```

Dalam contoh ini, `AutoUpgrade` nilainya adalah `True` untuk SQL versi Saya 8.0.23. Jadi, target upgrade minor otomatis adalah My SQL version 8.0.23, yang disorot dalam output.

Instans My SQL DB secara otomatis ditingkatkan selama jendela pemeliharaan Anda jika kriteria berikut terpenuhi:
+ Pengaturan **Peningkatan versi minor otomatis** diaktifkan.
+ Pengaturan **Periode retensi cadangan** lebih besar dari 0.
+ Instans DB menjalankan versi mesin DB minor yang lebih rendah dari versi minor peningkatan otomatis saat ini.

Untuk informasi selengkapnya, lihat [Meningkatkan versi mesin minor secara otomatis](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades). 

# Menggunakan replika baca untuk mengurangi waktu henti saat memutakhirkan RDS untuk database MySQL
<a name="USER_UpgradeDBInstance.MySQL.ReducedDowntime"></a>

Dalam kebanyakan kasus, deployment blue/green adalah opsi terbaik untuk mengurangi waktu henti saat meningkatkan instans MySQL DB. Untuk informasi selengkapnya, lihat [Menggunakan Amazon RDS Blue/Green Aurora Deployment untuk pembaruan database](blue-green-deployments.md). 

Jika Anda tidak dapat menggunakan deployment blue/green dan instans DB MySQL saat ini sedang digunakan dengan aplikasi produksi, Anda dapat menggunakan prosedur berikut untuk meningkatkan versi basis data untuk instans DB Anda. Prosedur ini dapat mengurangi jumlah waktu henti untuk aplikasi Anda. 

Dengan menggunakan replika baca, Anda dapat melakukan sebagian besar langkah-langkah pemeliharaan terlebih dahulu dan meminimalkan perubahan yang diperlukan selama pemadaman sebenarnya. Dengan teknik ini, Anda dapat menguji dan mempersiapkan instans DB baru tanpa membuat perubahan pada instans DB Anda yang sudah ada.

Prosedur berikut menunjukkan contoh peningkatan dari MySQL versi 5.7 ke MySQL versi 8.0. Anda dapat menggunakan langkah umum yang sama untuk peningkatan ke versi mayor lainnya. Anda dapat menggunakan langkah umum yang sama untuk peningkatan ke versi mayor lainnya.

**catatan**  
Saat Anda meningkatkan dari MySQL versi 5.7 ke MySQL versi 8.0, atau dari MySQL versi 8.0 ke MySQL versi 8.4, selesaikan prechecks sebelum melakukan upgrade. Untuk informasi selengkapnya, silakan lihat [Pra-pemeriksaan untuk peningkatan dari MySQL 5.7 ke 8.0](USER_UpgradeDBInstance.MySQL.Major.md#USER_UpgradeDBInstance.MySQL.57to80Prechecks) dan [Prececks untuk upgrade dari MySQL 8.0 ke 8.4](USER_UpgradeDBInstance.MySQL.Major.md#USER_UpgradeDBInstance.MySQL.80to84Prechecks).

**Untuk meningkatkan basis data MySQL saat instans DB sedang digunakan**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Buat sebuah replika baca dari instans DB MySQL 5.7 Anda. Proses ini membuat salinan yang dapat ditingkatkan dari basis data Anda. Mungkin ada replika baca lainnya dari instans DB tersebut.

   1. Pada konsol, pilih **Basis data**, lalu pilih instans DB yang ingin Anda tingkatkan.

   1. Untuk **Tindakan**, pilih **Buat replika baca**.

   1. Berikan nilai untuk **Pengidentifikasi instans DB** untuk replika baca Anda dan pastikan bahwa **Kelas instans DB** dan pengaturan lainnya sudah sesuai dengan instans DB MySQL 5.7 Anda.

   1. Pilih **Buat replika baca**.

1. (Opsional) Ketika replika baca telah dibuat dan **Status** menunjukkan **Tersedia**, ubah replika baca menjadi deployment Multi-AZ dan aktifkan pencadangan.

   Secara default, replika baca dibuat dengan cadangan dinonaktifkan. Karena replika baca pada akhirnya menjadi instans DB produksi, ini adalah praktik terbaik untuk mengonfigurasi penerapan multi-AZ dan mengaktifkan pencadangan.

   1. Pada konsol, pilih **Basis data**, lalu pilih replika baca yang baru saja Anda buat.

   1. Pilih **Ubah**.

   1. Untuk **Deployment Multi-AZ**, pilih **Buat instans siaga**.

   1. Untuk **Periode Retensi Cadangan**, pilih nilai selain nol positif, misalnya 3 hari, lalu pilih **Lanjutkan**.

   1. Untuk **Penjadwalan modifikasi**, pilih **Terapkan segera**.

   1. Pilih **Modifikasi instans DB**.

1. Saat **Status** replika baca menunjukkan **Tersedia**, tingkatkan replika baca ke MySQL 8.0:

   1. Pada konsol, pilih **Basis data**, lalu pilih replika baca yang baru saja Anda buat.

   1. Pilih **Ubah**.

   1. Untuk **Versi mesin DB**, pilih versi MySQL 8.0 sebagai target peningkatan, lalu pilih **Lanjutkan**.

   1. Untuk **Penjadwalan modifikasi**, pilih **Terapkan segera**.

   1. Pilih **Modifikasi instans DB** untuk memulai peningkatan. 

1. Ketika pemutakhiran selesai dan **Status** menunjukkan **Tersedia**, verifikasi bahwa replika baca yang ditingkatkan adalah up-to-date dengan instans MySQL 5.7 DB sumber. Untuk memverifikasi, hubungkan ke replika baca dan jalankan perintah `SHOW REPLICA STATUS`. Jika `Seconds_Behind_Master` bidangnya`0`, maka replikasi adalah up-to-date.
**catatan**  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

1. (Opsional) Buat replika baca dari replika baca Anda.

   Jika Anda ingin instans DB memiliki replika baca setelah dipromosikan menjadi instans DB mandiri, Anda dapat membuat replika baca sekarang.

   1. Pada konsol, pilih **Basis data**, lalu pilih replika baca yang baru saja Anda tingkatkan.

   1. Untuk **Tindakan**, pilih **Buat replika baca**.

   1. Berikan nilai untuk **Pengidentifikasi instans DB** untuk replika baca Anda dan pastikan bahwa **Kelas instans DB** dan pengaturan lainnya sudah sesuai dengan instans DB MySQL 5.7 Anda.

   1. Pilih **Buat replika baca**.

1. (Opsional) Konfigurasikan grup parameter kustom DB untuk replika baca.

   Jika Anda ingin instans DB menggunakan grup parameter kustom setelah dipromosikan menjadi instans DB mandiri, Anda dapat membuat grup parameter DB sekarang dan mengaitkannya dengan replika baca.

   1. Buat grup parameter DB kustom untuk MySQL 8.0. Untuk petunjuk, lihat [Membuat grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Creating.md).

   1. Modifikasi parameter yang ingin Anda ubah dalam grup parameter DB yang baru saja Anda buat. Untuk petunjuk, lihat [](USER_WorkingWithParamGroups.Modifying.md).

   1. Pada konsol, pilih **Basis data**, lalu pilih replika baca.

   1. Pilih **Ubah**.

   1. Untuk **Grup parameter DB**, pilih grup parameter DB MySQL 8.0 yang baru Anda buat, lalu pilih **Lanjutkan**.

   1. Untuk **Penjadwalan modifikasi**, pilih **Terapkan segera**.

   1. Pilih **Modifikasi instans DB** untuk memulai peningkatan. 

1. Jadikan replika baca MySQL 8.0 Anda sebagai instans DB mandiri. 
**penting**  
Saat Anda mempromosikan replika baca MySQL 8.0 Anda menjadi instans DB mandiri, replika baca ini bukan lagi merupakan replika dari instans DB MySQL 5.7 Anda. Kami sarankan Anda mempromosikan replika baca MySQL 8.0 selama periode pemeliharaan jika instans DB MySQL 5.7 sumber Anda berada dalam mode hanya baca dan semua operasi tulis ditangguhkan. Saat promosi selesai, Anda dapat mengarahkan operasi tulis Anda ke instans DB MySQL 8.0 yang telah ditingkatkan untuk memastikan bahwa tidak ada operasi tulis yang hilang.  
Selain itu, sebelum mempromosikan replika baca MySQL 8.0, kami sarankan Anda menjalankan semua operasi bahasa definisi data (DDL) yang diperlukan di replika baca MySQL 8.0 tersebut. Contohnya adalah membuat indeks. Pendekatan ini akan menghindari efek negatif pada performa replika baca MySQL 8.0 setelah dipromosikan. Untuk mempromosikan replika baca, gunakan prosedur berikut.

   1. Pada konsol, pilih **Basis data**, lalu pilih replika baca yang baru saja Anda tingkatkan.

   1. Untuk **Tindakan**, pilih **Promosikan**.

   1. Pilih **Ya** untuk mengaktifkan pencadangan otomatis untuk instans replika baca. Untuk informasi selengkapnya, lihat [Pengantar cadangan](USER_WorkingWithAutomatedBackups.md).

   1. Pilih **Lanjutkan**.

   1. Pilih **Promosikan Replika Baca**.

1. Sekarang Anda memiliki versi peningkatan dari basis data MySQL Anda. Pada tahap ini, Anda dapat mengarahkan aplikasi Anda ke instans DB MySQL 8.0 yang baru.

# Memantau RDS untuk upgrade mesin MySQL dengan acara
<a name="USER_UpgradeDBInstance.MySQL.Monitoring"></a>

Saat Anda memutakhirkan versi mesin dari database RDS untuk MySQL, Amazon RDS memancarkan peristiwa tertentu selama setiap fase proses. Untuk melacak kemajuan peningkatan, Anda dapat melihat atau berlangganan acara ini.

 Untuk informasi selengkapnya tentang peristiwa RDS, lihat[Memantau RDS](working-with-events.md).

Untuk informasi rinci tentang peristiwa Amazon RDS tertentu yang terjadi selama upgrade engine Anda, lihat[Kategori acara Amazon RDS dan pesan acara Aurora](USER_Events.Messages.md).

# Meningkatkan versi mesin snapshot DB MySQL
<a name="mysql-upgrade-snapshot"></a>

Dengan Amazon RDS, Anda dapat membuat volume penyimpanan snapshot DB untuk instans DB MySQL Anda. Saat Anda membuat snapshot DB, snapshot tersebut didasarkan pada versi mesin yang digunakan oleh instans DB Anda. Anda dapat memutakhirkan versi mesin untuk snapshot DB Anda. 

Untuk RDS untuk MySQL, Anda dapat memutakhirkan snapshot versi 5.7 ke versi 8.0, atau snapshot versi 8.0 ke versi 8.4. Anda dapat meningkatkan snapshot DB terenkripsi atau tidak terenkripsi.

Untuk melihat versi engine yang tersedia untuk snapshot RDS untuk MySQL DB Anda, gunakan contoh berikut. AWS CLI 

```
aws rds describe-db-engine-versions --engine mysql --include-all --engine-version example-engine-version --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text
```

Jika Anda tidak melihat hasil untuk snapshot Anda, versi mesin Anda mungkin tidak digunakan lagi. Jika versi mesin Anda tidak digunakan lagi, kami sarankan Anda meningkatkan ke target pemutakhiran versi utama terbaru atau ke salah satu target pemutakhiran lain yang tersedia untuk versi tersebut. Untuk informasi selengkapnya, lihat [Opsi upgrade untuk snapshot DB dengan versi engine yang tidak didukung untuk RDS untuk MySQL](mysql-upgrade-snapshot.upgrade-options.md).

Setelah memulihkan snapshot DB yang ditingkatkan ke versi mesin baru, pastikan untuk menguji bahwa peningkatan berhasil. Untuk informasi selengkapnya tentang peningkatan versi mayor, lihat [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md). Untuk mempelajari cara memulihkan snapshot DB RDS, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).

**catatan**  
Anda tidak dapat meningkatkan snapshot DB otomatis yang dibuat selama proses pencadangan otomatis.

Anda dapat memutakhirkan snapshot DB menggunakan Konsol Manajemen AWS, AWS CLI, atau RDS API.

------
#### [ Console ]

Untuk memutakhirkan versi mesin snapshot DB menggunakan Konsol Manajemen AWS, gunakan prosedur berikut.

**Untuk meningkatkan snapshot DB**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Snapshot**.

1. Pilih snapshot yang ingin Anda tingkatkan. 

1. Untuk **Tindakan**, pilih **Tingkatkan snapshot**. Halaman **Tingkatkan snapshot** muncul.

1. Pilih **Versi mesin baru** yang akan menjadi target peningkatan.

1. Pilih **Simpan perubahan** untuk meningkatkan snapshot.

   Selama proses peningkatan, semua tindakan snapshot dinonaktifkan untuk snapshot DB ini. Selain itu, status snapshot DB berubah dari **Tersedia** menjadi **Ditingkatkan**, lalu berubah menjadi **Aktif** jika sudah selesai. Jika snapshot DB tidak dapat ditingkatkan karena masalah kerusakan snapshot, status berubah menjadi **Tidak Tersedia**. Anda tidak dapat memulihkan snapshot dari status ini.
**catatan**  
Jika peningkatan snapshot DB gagal, snapshot di-rollback ke kondisi awal sesuai dengan versi asli.

------
#### [ AWS CLI ]

Untuk memutakhirkan snapshot DB ke versi mesin database baru, jalankan AWS CLI [modify-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html)perintah. 

**Opsi**
+ `--db-snapshot-identifier` – Pengidentifikasi snapshot DB yang akan ditingkatkan. Pengidentifikasi harus berupa Amazon Resource Name (ARN) yang unik. Untuk informasi selengkapnya, lihat [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md).
+ `--engine-version` – Versi mesin untuk meningkatkan snapshot DB.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds modify-db-snapshot \
2. 
3.     --db-snapshot-identifier my_db_snapshot \
4.     --engine-version new_version
```
Untuk Windows:  

```
1. aws rds modify-db-snapshot ^
2.     --db-snapshot-identifier my_db_snapshot ^
3.     --engine-version new_version
```

------
#### [ Amazon RDS API ]

Untuk memutakhirkan snapshot DB ke versi mesin database baru, panggil operasi RDS API [Modify DBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBSnapshot.html). 

**Parameter**
+ `DBSnapshotIdentifier` – Pengidentifikasi untuk snapshot DB. Pengidentifikasi harus berupa Amazon Resource Name (ARN) yang unik. Untuk informasi selengkapnya, lihat [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md). 
+ `EngineVersion` – Versi mesin untuk meningkatkan snapshot DB.

------

# Opsi upgrade untuk snapshot DB dengan versi engine yang tidak didukung untuk RDS untuk MySQL
<a name="mysql-upgrade-snapshot.upgrade-options"></a>

Tabel berikut menunjukkan versi mesin mana yang dapat Anda tingkatkan dari versi mesin yang tidak didukung untuk snapshot RDS untuk MySQL DB.

**catatan**  
Anda mungkin harus memutakhirkan snapshot DB Anda lebih dari sekali untuk meningkatkan ke versi mesin pilihan Anda. 


| Versi mesin snapshot DB | Versi mesin tersedia untuk upgrade | 
| --- | --- | 
| 5.5.8 |  5.5.62, 5.6.51  | 
| 5.5.12 |   5.5.62, 5.6.51  | 
| 5.5.20 |  5.5.62, 5.6.51  | 
| 5.5.23 |  5.5.62, 5.6.51  | 
| 5.5.25a |  5.5.62, 5.6.51  | 
| 5.5.27 |  5.5.62, 5.6.51  | 
| 5.5.31 |  5.5.62, 5.6.51  | 
| 5.5.33 |  5.5.62, 5.6.51  | 
| 5.5.37 |  5.5.62, 5.6.51  | 
| 5.5.38 |  5.5.62, 5.6.51  | 
| 5.5.40 |  5.5.62, 5.6.51  | 
| 5.5.40a |  5.5.62, 5.6.51  | 
| 5.5.40b |  5.5.62, 5.6.51  | 
| 5.5.41 |  5.5.62, 5.6.51  | 
| 5.5.42 |  5.5.62, 5.6.51  | 
| 5.5.59 |  5.5.62, 5.6.51  | 
| 5.6.12 |  5.6.51, 5.7.44  | 
| 5.6.13 |  5.6.51, 5.7.44  | 
| 5.6.17 |  5.6.51, 5.7.44  | 
| 5.6.19 |  5.6.51, 5.7.44  | 
| 5.6.19a |  5.6.51, 5.7.44  | 
| 5.6.19b |  5.6.51, 5.7.44  | 
| 5.6.21 |  5.6.51, 5.7.44  | 
| 5.6.21b |  5.6.51, 5.7.44  | 
| 5.6.22 |  5.6.51, 5.7.44  | 
| 5.6.23 |  5.6.51, 5.7.44  | 
| 5.6.27 |  5.6.51, 5.7.44  | 
| 5.6.27a |  5.6.51, 5.7.44  | 
| 5.7.10 |  5.7.44, 5.7.44-rds.20240408, 5.7.44-rds.20240529, 5.7.44-rds.20250103, 5.7.44-rds.20250213, 8.0.32, 8.0.33, 8.0.34, 8.0.35, 8.0.36, 8.0.37, 8.0.39, 8.0.40, 8.0.41  | 
| 5.7.11 |  5.7.44, 5.7.44-rds.20240408, 5.7.44-rds.20240529, 5.7.44-rds.20250103, 5.7.44-rds.20250213, 8.0.32, 8.0.33, 8.0.34, 8.0.35, 8.0.36, 8.0.37, 8.0.39, 8.0.40, 8.0.41  | 
| 5.7.12 |  5.7.44, 5.7.44-rds.20240408, 5.7.44-rds.20240529, 5.7.44-rds.20250103, 5.7.44-rds.20250213, 8.0.32, 8.0.33, 8.0.34, 8.0.35, 8.0.36, 8.0.37, 8.0.39, 8.0.40, 8.0.41  | 

# Mengimpor data ke Amazon RDS for MySQL DB instans
<a name="MySQL.Procedural.Importing.Other"></a>

Anda dapat menggunakan beberapa teknik yang berbeda untuk mengimpor data ke dalam instans DB RDS for MySQL. Pendekatan terbaik tergantung pada sejumlah faktor:
+ Sumber data
+ Jumlah data
+ Impor satu kali atau sedang berlangsung
+ Jumlah downtime

 Jika Anda juga memigrasikan aplikasi dengan data, jumlah waktu henti penting untuk dipertimbangkan.

Tabel berikut mencantumkan teknik untuk mengimpor data ke RDS untuk instance MySQL DB:


| Sumber | Jumlah data | Satu kali atau berkelanjutan | Waktu henti aplikasi | Teknik | Informasi lain | 
| --- | --- | --- | --- | --- | --- | 
|  Basis data MySQL yang sudah ada di on-premise atau di Amazon EC2  |  Setiap  |  Satu kali  |  Beberapa  |  Buat cadangan dari basis data on-premise Anda, simpan di Amazon S3, lalu pulihkan file cadangan ke instans DB Amazon RDS baru yang menjalankan MySQL.  |  [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md)  | 
|  Basis data MySQL yang sudah ada di on-premise atau di Amazon EC2  |  Setiap  |  Berkelanjutan  |  Minimal  |  Lakukan konfigurasi pada replikasi dengan basis data MySQL yang sudah ada sebagai sumber replikasi.  |  [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md) [Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi](mysql-importing-data-reduced-downtime.md)  | 
|  Sebarang basis data yang ada  |  Setiap  |  Satu kali atau berkelanjutan  |  Minimal  |  Gunakan AWS Database Migration Service untuk memigrasikan database dengan downtime minimal dan, untuk banyak mesin DB database, lanjutkan replikasi yang sedang berlangsung.  |  [Apa itu AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) dan Panduan Pengguna [Menggunakan basis data yang kompatibel dengan MySQL sebagai target untuk AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) dalam *AWS Database Migration Service *   | 
|  Instans DB MySQL yang sudah ada  |  Setiap  |  Satu kali atau berkelanjutan  |  Minimal  |  Buat replika baca untuk replikasi berkelanjutan. Dorong replika baca untuk pembuatan satu kali instans DB baru.  |  [Menggunakan replika baca instans DB](USER_ReadRepl.md)  | 
|  Database MySQL yang ada  |  Kecil  |  Satu kali  |  Beberapa  | Salin data secara langsung ke instans DB MySQL Anda dengan menggunakan utilitas baris perintah. |  [Mengimpor data dari database MySQL eksternal ke Amazon RDS for MySQL DB instans](mysql-importing-data-external-database.md)  | 
|  Data tidak disimpan dalam basis data yang sudah ada  |  Sedang  |  Satu kali  |  Beberapa  | Buat file datar dan impor mereka menggunakan pernyataan MySQLLOAD DATA LOCAL INFILE. |  [Mengimpor data dari sumber apa pun ke Amazon RDS for MySQL DB instans](mysql-importing-data-any-source.md)  | 

**catatan**  
Basis data sistem `mysql` berisi informasi autentikasi dan otorisasi yang dibutuhkan untuk masuk ke instans DB Anda dan mengakses data Anda. Penurunan, pengubahan, penamaan ulang, atau penyingkatan tabel, data, atau konten lain dari basis data `mysql` dalam instans DB Anda dapat mengakibatkan kesalahan dan dapat menyebabkan instans DB dan data Anda tidak dapat diakses. Jika ini terjadi, Anda dapat mengembalikan instance DB dari snapshot menggunakan AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)perintah. Anda dapat memulihkan instans DB menggunakan AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)perintah. 

# Mengimpor pertimbangan data untuk MySQL
<a name="MySQL.Procedural.Importing.Advanced"></a>

Konten berikut berisi informasi teknis yang terkait dengan pemuatan data ke MySQL. Konten ini ditujukan untuk pengguna yang akrab dengan arsitektur server MySQL.

## Pencatatan biner
<a name="MySQL.Procedural.Importing.Advanced.Log"></a>

Mengaktifkan pencatatan biner mengurangi kinerja pemuatan data dan membutuhkan hingga empat kali ruang disk tambahan dibandingkan dengan pencatatan yang dinonaktifkan. Ukuran transaksi yang digunakan untuk memuat data secara langsung mempengaruhi kinerja sistem dan kebutuhan ruang disk — transaksi yang lebih besar membutuhkan lebih banyak sumber daya.

## Ukuran transaksi
<a name="MySQL.Procedural.Importing.Advanced.Size"></a>

Ukuran transaksi mempengaruhi aspek-aspek berikut dari beban data MySQL:
+ Konsumsi sumber daya
+ Pemanfaatan ruang disk
+ Lanjutkan proses
+ Waktu untuk pulih
+ Format input (file datar atau SQL)

Bagian ini menjelaskan bagaimana ukuran transaksi dapat memengaruhi log biner dan mengakibatkan kasus penonaktifan log biner selama pemuatan data yang besar. Anda dapat mengaktifkan dan menonaktifkan pencatatan biner dengan mengatur periode retensi cadangan otomatis Amazon RDS. Nilai non-nol mengaktifkan log biner, dan nilai nol menonaktifkannya. Untuk informasi selengkapnya, lihat [Periode retensi cadangan](USER_WorkingWithAutomatedBackups.BackupRetention.md).

Bagian ini juga menjelaskan dampak transaksi besar pada InnoDB dan mengapa penting untuk menjaga ukuran transaksi tetap kecil. 

### Transaksi kecil
<a name="MySQL.Procedural.Importing.Advanced.Log.Small"></a>

Untuk transaksi kecil, log biner menggandakan jumlah tulis disk yang dibutuhkan untuk memuat data. Efek ini dapat secara ekstrem menurunkan performa untuk sesi basis data lain dan meningkatkan waktu yang dibutuhkan untuk memuat data. Degradasi yang dialami sebagian tergantung pada faktor-faktor berikut:
+ Tingkat unggah
+ Aktivitas database lainnya yang terjadi selama pemuatan
+ Kapasitas instans Amazon RDS DB Anda

Log biner juga mengkonsumsi ruang disk kira-kira sama dengan jumlah data yang dimuat sampai log dicadangkan dan dihapus. Amazon RDS meminimalkan ini dengan sering mencadangkan dan menghapus log biner. 

### Transaksi besar
<a name="MySQL.Procedural.Importing.Advanced.Log.Large"></a>

Untuk transaksi besar, pencatatan biner melipatgandakan IOPS dan penggunaan disk karena alasan berikut:
+ Cache log biner menyimpan data transaksi sementara pada disk.
+ Cache ini tumbuh dengan ukuran transaksi, yang menghabiskan ruang disk.
+ Ketika transaksi (commit atau rollback) selesai, sistem menyalin cache ke log biner.

Proses ini membuat tiga salinan data:
+ Data asli
+ Cache pada disk
+ Entri log biner terakhir

Setiap operasi penulisan menimbulkan IO tambahan, yang selanjutnya memengaruhi kinerja.

Karena itu, logging biner membutuhkan tiga kali lipat ruang disk dibandingkan dengan logging yang dinonaktifkan. Misalnya, memuat 10 GiB data sebagai satu transaksi menghasilkan tiga salinan:
+ 10 GiB untuk data tabel
+ 10 GiB untuk cache log biner
+ 10 GiB untuk file log biner

Total ruang disk sementara yang dibutuhkan adalah 30 GiB.

Pertimbangan ruang disk penting:
+ File cache tetap ada sampai sesi berakhir atau transaksi baru membuat cache lain.
+ Log biner tetap ada sampai dicadangkan, berpotensi menahan 20 GiB (cache dan log) untuk waktu yang lama.

Jika Anda menggunakan `LOAD DATA LOCAL INFILE` untuk memuat data, pemulihan data membuat salinan keempat jika database harus dipulihkan dari cadangan yang dibuat sebelum pemuatan. Selama pemulihan, MySQL mengekstrak data dari log biner ke dalam sebuah file rata. MySQL kemudian berjalan. `LOAD DATA LOCAL INFILE` Berdasarkan contoh sebelumnya, pemulihan ini membutuhkan total ruang disk sementara 40 GiB, atau masing-masing 10 GiB untuk tabel, cache, log, dan file lokal. Tanpa setidaknya 40 GiB ruang disk kosong, pemulihan gagal.

### Mengoptimalkan beban data yang besar
<a name="MySQL.Procedural.Importing.AnySource.Advanced.Disable"></a>

Untuk pemuatan data yang besar, nonaktifkan pencatatan biner untuk mengurangi kebutuhan ruang overhead dan disk. Anda dapat menonaktifkan pencatatan biner dengan mengatur periode retensi cadangan ke 0. Setelah pemuatan selesai, kembalikan periode retensi cadangan ke nilai bukan nol yang sesuai. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md) dan [Periode retensi cadangan](USER_ModifyInstance.Settings.md) di tabel pengaturan.

**catatan**  
Jika instans DB adalah instans DB sumber untuk replika baca, maka Anda tidak dapat mengatur periode retensi cadangan ke 0.

Sebelum memuat data, kami sarankan Anda membuat snapshot DB. Untuk informasi selengkapnya, lihat [Mengelola backup manual](USER_ManagingManualBackups.md). 

## InnoDB
<a name="MySQL.Procedural.Importing.Advanced.InnoDB"></a>

Informasi berikut tentang opsi undo logging dan recovery mendukung menjaga transaksi InnoDB tetap kecil untuk mengoptimalkan kinerja database.

### Memahami InnoDB undo logging
<a name="MySQL.Procedural.Importing.Advanced.InnoDB.Undo"></a>

Undo adalah mekanisme logging yang memungkinkan rollback transaksi dan mendukung kontrol konkurensi multi-versi (MVCC). 

Untuk MySQL 5.7 dan versi yang lebih rendah, batalkan log disimpan di tablespace sistem InnoDB (biasanya ibdata1) dan dipertahankan sampai thread pembersihan menghapusnya. Akibatnya, transaksi pemuatan data yang besar dapat menyebabkan tablespace sistem menjadi cukup besar dan menghabiskan ruang disk yang tidak dapat Anda reklamasi kecuali Anda membuat ulang database.

Untuk semua versi MySQL, thread pembersihan harus menunggu untuk menghapus log pembatalan apa pun hingga transaksi aktif tertua melakukan atau memutar kembali. Jika database memproses transaksi lain selama pemuatan, log pembatalan mereka juga terakumulasi dan tidak dapat dihapus, bahkan jika transaksi dilakukan dan tidak ada transaksi lain yang memerlukan log pembatalan untuk MVCC. Dalam situasi ini, semua transaksi—termasuk transaksi hanya-baca—melambat. Perlambatan ini terjadi karena semua transaksi mengakses semua baris yang setiap transaksi—bukan hanya transaksi muatan—berubah. Akibatnya, transaksi harus memindai melalui log undo yang mencegah transaksi pemuatan yang berjalan lama dicegah untuk dibersihkan selama pembersihan log batal. Ini memengaruhi kinerja untuk setiap operasi yang mengakses baris yang dimodifikasi. 

### Opsi pemulihan transaksi InnoDB
<a name="MySQL.Procedural.Importing.Advanced.InnoDB.Rollback"></a>

Meskipun InnoDB mengoptimalkan operasi komit, rollback transaksi besar lambat. Untuk pemulihan yang lebih cepat, lakukan point-in-time pemulihan atau pulihkan snapshot DB. Untuk informasi selengkapnya, lihat [Point-in-time pemulihan](USER_PIT.md) dan [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).

## Format impor data
<a name="MySQL.Procedural.Importing.Advanced.InputFormat"></a>

MySQL mendukung dua format impor data: file datar dan SQL. Tinjau informasi tentang setiap format untuk menentukan opsi terbaik untuk kebutuhan Anda.

### File rata
<a name="MySQL.Procedural.Importing.Advanced.InputFormat.FlatFiles"></a>

Untuk transaksi kecil, muat file datar dengan`LOAD DATA LOCAL INFILE`. Format impor data ini dapat memberikan manfaat berikut dibandingkan menggunakan SQL:
+ Lebih sedikit lalu lintas jaringan
+ Biaya transmisi data yang lebih rendah
+ Overhead pemrosesan basis data menurun
+ Pemrosesan lebih cepat

`LOAD DATA LOCAL INFILE`memuat seluruh file datar sebagai satu transaksi. Jaga ukuran masing-masing file kecil untuk keuntungan berikut:
+ **Kemampuan melanjutkan** - Anda dapat melacak file mana yang telah dimuat. Jika masalah muncul selama beban, Anda dapat mengambil tempat yang Anda tinggalkan. Anda mungkin perlu mengirimkan kembali beberapa data ke Amazon RDS, tetapi dengan file kecil, jumlah yang dikirim ulang minimal.
+ **Pemuatan data paralel** — Jika Anda memiliki IOPS dan bandwidth jaringan yang cukup untuk satu pemuatan file, pemuatan secara paralel dapat menghemat waktu.
+ **Kontrol laju beban** - Jika beban data Anda berdampak negatif pada proses lain, Anda dapat mengontrol laju beban dengan meningkatkan interval antar file. 

Transaksi besar mengurangi manfaat penggunaan `LOAD DATA LOCAL INFILE` untuk mengimpor data. Bila Anda tidak dapat memecah sejumlah besar data menjadi file yang lebih kecil, pertimbangkan untuk menggunakan SQL.

### SQL
<a name="MySQL.Procedural.Importing.Advanced.InputFormat.SQL"></a>

SQL memiliki satu keunggulan utama dibandingkan file datar: Anda dapat dengan mudah menjaga ukuran transaksi kecil. Namun, SQL dapat memakan waktu lebih lama untuk memuat daripada file datar. Juga, setelah kegagalan, mungkin sulit untuk menentukan di mana harus melanjutkan—Anda tidak dapat me-restart file mysqldump. Jika terjadi kegagalan saat memuat file mysqldump, Anda harus memodifikasi atau mengganti file sebelum pemuatan dapat dilanjutkan. Atau, sebagai alternatif, setelah Anda memperbaiki penyebab kegagalan, Anda dapat mengembalikan ke titik waktu sebelum memuat dan mengirim ulang file. Untuk informasi selengkapnya, lihat [Point-in-time pemulihan](USER_PIT.md).

## Menggunakan snapshot Amazon RDS DB untuk pos pemeriksaan database
<a name="MySQL.Procedural.Importing.Advanced.Checkpoints"></a>

Jika Anda memuat data dalam jangka waktu yang lama—seperti jam atau hari—tanpa pencatatan biner, gunakan snapshot DB untuk menyediakan pos pemeriksaan berkala demi keamanan data. Setiap snapshot DB membuat salinan konsisten dari instance database Anda yang berfungsi sebagai titik pemulihan selama kegagalan sistem atau peristiwa korupsi data. Karena snapshot DB cepat, checkpointing yang sering memiliki dampak minimal pada kinerja beban. Anda dapat menghapus snapshot DB sebelumnya tanpa memengaruhi daya tahan database atau kemampuan pemulihan. Untuk informasi selengkapnya tentang snapshot DB, lihat[Mengelola backup manual](USER_ManagingManualBackups.md).

## Mengurangi waktu muat database
<a name="MySQL.Procedural.Importing.Advanced.LoadTime"></a>

Item berikut adalah tips tambahan untuk mengurangi waktu muat: 
+ Buat semua indeks sekunder sebelum memuat data ke database MySQL. Tidak seperti sistem database lainnya, MySQL membangun kembali seluruh tabel saat menambahkan atau memodifikasi indeks sekunder. Proses ini membuat tabel baru dengan perubahan indeks, menyalin semua data, dan menjatuhkan tabel asli.
+ Muat data dalam urutan kunci primer. Untuk tabel InnoDB, ini dapat mengurangi waktu muat hingga 75% — 80% dan mengurangi ukuran file data hingga 50%.
+ Nonaktifkan kendala kunci asing dengan menyetel ke. `foreign_key_checks` `0` Ini sering diperlukan untuk file datar yang dimuat`LOAD DATA LOCAL INFILE`. Untuk beban apa pun, menonaktifkan pemeriksaan kunci asing mempercepat pemuatan data. Setelah pemuatan selesai, aktifkan kembali kendala dengan menyetel `foreign_key_checks` dan memverifikasi data. `1`
+ Muat data secara paralel kecuali mendekati batas sumber daya. Untuk mengaktifkan pemuatan bersamaan di beberapa segmen tabel, gunakan tabel yang dipartisi bila sesuai. 
+ Untuk mengurangi overhead eksekusi SQL, gabungkan beberapa `INSERT` pernyataan menjadi operasi `INSERT` multi-nilai tunggal. `mysqldump`mengimplementasikan optimasi ini secara otomatis. 
+ Kurangi operasi IO log InnoDB dengan menyetel `innodb_flush_log_at_trx_commit` ke. `0` Setelah pemuatan selesai, kembalikan `innodb_flush_log_at_trx_commit` ke`1`. 
**Awas**  
Pengaturan `innodb_flush_log_at_trx_commit` untuk `0` menyebabkan InnoDB menyiram lognya setiap detik, bukan di setiap komit. Pengaturan ini meningkatkan kinerja tetapi dapat mengambil risiko kerugian transaksi selama kegagalan sistem.
+ Jika Anda memuat data ke instans DB yang tidak memiliki replika baca, setel `sync_binlog` ke`0`. Setelah pemuatan selesai, kembalikan `sync_binlog parameter` ke`1`.
+ Muat data ke instans DB AZ tunggal sebelum mengonversi instans DB menjadi penerapan Multi-AZ. Jika instans DB sudah menggunakan penerapan Multi-AZ, kami tidak menyarankan untuk beralih ke penerapan AZ tunggal untuk pemuatan data. Melakukannya hanya memberikan perbaikan marjinal.

# Memulihkan cadangan ke instans Amazon RDS for MySQL DB
<a name="MySQL.Procedural.Importing"></a>

Amazon RDS mendukung mengimpor database MySQL dengan file cadangan. Anda dapat membuat cadangan database Anda, menyimpan file cadangan di Amazon S3, dan kemudian mengembalikan file cadangan ke instans Amazon RDS DB baru yang menjalankan MySQL. Amazon RDS mendukung mengimpor file cadangan dari Amazon S3 secara keseluruhan. Wilayah AWS

Skenario yang dijelaskan dalam bagian ini adalah pemulihan cadangan basis data on-premise. Selama database dapat diakses, Anda dapat menggunakan teknik ini untuk database di lokasi lain, seperti Amazon EC2 atau layanan cloud lainnya.

Diagram berikut menunjukkan skenario yang didukung.

![\[MySQL mengimpor file cadangan dari S3.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MySQL-bak-file.png)


Jika database lokal Anda dapat offline saat Anda membuat, menyalin, dan memulihkan file cadangan, sebaiknya gunakan file cadangan untuk mengimpor database ke Amazon RDS. Jika database Anda tidak dapat offline, maka Anda dapat menggunakan salah satu metode berikut:
+ **Log biner** — Pertama, impor file cadangan dari Amazon S3 dan ke Amazon RDS, seperti yang dijelaskan dalam topik ini. Kemudian gunakan replikasi log biner (binlog) untuk memperbarui database Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md). 
+ **AWS Database Migration Service**— Gunakan AWS Database Migration Service untuk memigrasikan database Anda ke Amazon RDS. Untuk informasi lebih lanjut, lihat [Apa itu AWS Database Migration Service?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 

## Ikhtisar pengaturan untuk mengimpor file cadangan dari Amazon S3 ke Amazon RDS
<a name="MySQL.Procedural.Importing.Enabling"></a>

Untuk mengimpor file cadangan dari Amazon S3 ke Amazon RDS, Anda memerlukan komponen berikut: 
+ Bucket Amazon S3 untuk menyimpan file cadangan Anda.

  Jika Anda sudah memiliki ember Amazon S3, Anda dapat menggunakan ember itu. Jika Anda tidak memiliki ember Amazon S3, buat yang baru. Untuk informasi selengkapnya, lihat [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingaBucket.html). 
+ Sebuah cadangan dari basis data on-premise Anda yang diciptakan oleh Percona XtraBackup.

  Untuk informasi selengkapnya, lihat [Membuat cadangan basis data](#MySQL.Procedural.Importing.Backup). 
+ Peran AWS Identity and Access Management (IAM) untuk memungkinkan Amazon RDS mengakses bucket S3.

  Jika Anda sudah memiliki peran IAM, Anda dapat menggunakan peran tersebut dan melampirkan kebijakan kepercayaan dan izin padanya. Untuk informasi selengkapnya, lihat [Penciptaan sebuah peran IAM secara manual](#MySQL.Procedural.Importing.Enabling.IAM).

  Jika Anda tidak memiliki peran IAM, Anda memiliki dua opsi:
  + Anda dapat membuat peran IAM baru secara manual. Untuk informasi selengkapnya, lihat [Penciptaan sebuah peran IAM secara manual](#MySQL.Procedural.Importing.Enabling.IAM).
  + Anda dapat memilih Amazon RDS untuk membuat peran IAM baru untuk Anda. Jika Anda ingin Amazon RDS membuat peran IAM baru untuk Anda, ikuti prosedur yang menggunakan bagian Konsol Manajemen AWS in[Mengimpor data dari Amazon S3 ke instans DB MySQL baru](#MySQL.Procedural.Importing.PerformingImport). 

## Membuat cadangan basis data
<a name="MySQL.Procedural.Importing.Backup"></a>

Gunakan XtraBackup perangkat lunak Percona untuk membuat cadangan Anda. Kami menyarankan Anda menggunakan versi terbaru XtraBackup Percona. Anda dapat menginstal Percona XtraBackup dari [Unduhan Perangkat Lunak](https://www.percona.com/downloads/) di situs web Percona. 

**Awas**  
Saat membuat cadangan basis data, XtraBackup mungkin menyimpan kredensil dalam file xtrabackup\$1info. Pastikan untuk mengonfirmasi bahwa `tool_command` pengaturan dalam file xtrabackup\$1info tidak berisi informasi sensitif apa pun.

 XtraBackup Versi Percona yang Anda gunakan bergantung pada versi MySQL yang Anda cadangkan.
+ **MySQL** 8.4 - Gunakan Percona versi 8.4. XtraBackup
+ **MySQL** 8.0 - Gunakan Percona versi 8.0. XtraBackup
**catatan**  
Percona XtraBackup 8.0.12 dan versi yang lebih tinggi mendukung migrasi semua versi MySQL 8.0. Jika Anda bermigrasi ke RDS untuk MySQL 8.0.32 atau lebih tinggi, Anda harus menggunakan Percona 8.0.12 atau lebih tinggi. XtraBackup 
+ **MySQL** 5.7 - Gunakan Percona versi 2.4. XtraBackup

Anda dapat menggunakan Percona XtraBackup untuk membuat cadangan lengkap file database MySQL Anda. Atau, jika Anda sudah menggunakan Percona XtraBackup untuk mencadangkan file database MySQL Anda, Anda dapat mengunggah direktori dan file cadangan lengkap dan tambahan yang ada. 

Untuk informasi selengkapnya tentang mencadangkan database Anda dengan Percona XtraBackup, lihat Percona [ XtraBackup - Dokumentasi di situs web Percona](https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html). 

### Membuat cadangan lengkap dengan Percona XtraBackup
<a name="AuroraMySQL.Migrating.ExtMySQL.S3.Backup.Full"></a>

Untuk membuat cadangan lengkap file database MySQL Anda yang dapat dipulihkan Amazon RDS dari Amazon S3, gunakan utilitas Percona (). XtraBackup `xtrabackup` 

Misalnya, perintah berikut akan membuat sebuah cadangan basis data MySQL dan menyimpan file-nya dalam folder `/on-premises/s3-restore/backup`. 

```
xtrabackup --backup --user=myuser --password=password --target-dir=/on-premises/s3-restore/backup
```

Jika Anda ingin mengompres cadangan Anda menjadi satu file — yang dapat Anda bagi menjadi beberapa file nanti, jika diperlukan — Anda dapat menyimpan cadangan Anda dalam salah satu format berikut berdasarkan versi MySQL Anda: 
+ **Gzip (.gz)** - Untuk MySQL 5.7 dan versi yang lebih rendah
+ **tar (.tar)** - Untuk MySQL 5.7 dan versi yang lebih rendah
+ **Percona xbstream (.xbstream)** - Untuk semua versi MySQL

**catatan**  
Percona XtraBackup 8.0 dan yang lebih tinggi hanya mendukung Percona xbstream untuk kompresi.

**MySQL 5.7 dan versi yang lebih rendah**

Perintah berikut membuat cadangan basis data MySQL Anda yang dipecah menjadi beberapa file Gzip. Ganti nilai dengan informasi Anda sendiri.

```
xtrabackup --backup --user=my_user --password=password --stream=tar \
   --target-dir=/on-premises/s3-restore/backup | gzip - | split -d --bytes=500MB \
   - /on-premises/s3-restore/backup/backup.tar.gz
```

**MySQL 5.7 dan versi yang lebih rendah**

Perintah berikut membuat cadangan basis data MySQL Anda yang dipecah menjadi beberapa file tar. Ganti nilai dengan informasi Anda sendiri.

```
xtrabackup --backup --user=my_user --password=password --stream=tar \
   --target-dir=/on-premises/s3-restore/backup | split -d --bytes=500MB \
   - /on-premises/s3-restore/backup/backup.tar
```

**Semua versi MySQL**

Perintah berikut membuat cadangan basis data MySQL Anda yang dipecah menjadi beberapa file xbstream. Ganti nilai dengan informasi Anda sendiri.

```
xtrabackup --backup --user=myuser --password=password --stream=xbstream \
   --target-dir=/on-premises/s3-restore/backup | split -d --bytes=500MB \
   - /on-premises/s3-restore/backup/backup.xbstream
```

**catatan**  
Jika Anda melihat kesalahan berikut, mungkin karena Anda mencampur format file dalam perintah Anda:  

```
ERROR:/bin/tar: This does not look like a tar archive
```

### Menggunakan cadangan tambahan dengan Percona XtraBackup
<a name="AuroraMySQL.Migrating.ExtMySQL.S3.Backup.Incr"></a>

Jika Anda sudah menggunakan Percona XtraBackup untuk melakukan pencadangan penuh dan bertahap dari file database MySQL Anda, Anda tidak perlu membuat cadangan lengkap dan mengunggah file cadangan ke Amazon S3. Sebagai gantinya, untuk menghemat waktu, salin direktori dan file cadangan yang ada ke bucket Amazon S3 Anda. Untuk informasi selengkapnya tentang membuat cadangan tambahan menggunakan Percona XtraBackup, lihat [Membuat cadangan tambahan](https://docs.percona.com/percona-xtrabackup/LATEST/create-incremental-backup.html) di situs web Percona. 

Saat menyalin file cadangan penuh dan inkremental yang sudah ada ke bucket Amazon S3, Anda harus menyalin konten direktori dasar secara berulang. Konten tersebut mencakup cadangan penuh dan semua direktori dan file cadangan tambahan. Salinan ini harus menjaga struktur direktori di bucket Amazon S3. Amazon RDS melakukan iterasi pada semua file dan direktori. Amazon RDS menggunakan `xtrabackup-checkpoints` file yang disertakan dengan setiap cadangan tambahan untuk mengidentifikasi direktori dasar dan untuk memesan cadangan tambahan berdasarkan rentang nomor urutan log (LSN). 

### Pertimbangan Backup untuk Percona XtraBackup
<a name="AuroraMySQL.Migrating.ExtMySQL.S3.Backup.Considerations"></a>

Amazon RDS menggunakan file cadangan Anda berdasarkan nama file. Beri nama file cadangan Anda dengan ekstensi file yang sesuai berdasarkan format file. Misalnya, gunakan `.xbstream` untuk file yang disimpan menggunakan format Percona xbstream. 

Amazon RDS menggunakan file cadangan Anda sesuai urutan abjad dan urutan angka alami. Untuk memastikan bahwa file cadangan Anda ditulis dan diberi nama dalam urutan yang benar, gunakan `split` opsi saat Anda mengeluarkan `xtrabackup` perintah. 

Amazon RDS tidak mendukung cadangan sebagian yang dibuat menggunakan Percona. XtraBackup Anda tidak dapat menggunakan opsi berikut untuk membuat cadangan sebagian saat mencadangkan file sumber untuk database Anda: 
+ `--tables`
+ `--tables-exclude`
+ `--tables-file`
+ `--databases`
+ `--databases-exclude`
+ `--databases-file`

## Penciptaan sebuah peran IAM secara manual
<a name="MySQL.Procedural.Importing.Enabling.IAM"></a>

Jika Anda tidak memiliki peran IAM, silakan buat baru secara manual. Namun, jika Anda memulihkan database dengan menggunakan Konsol Manajemen AWS, kami sarankan Anda memilih agar Amazon RDS membuat peran IAM baru ini untuk Anda. Agar Amazon RDS membuat peran ini untuk Anda, ikuti prosedur di [Mengimpor data dari Amazon S3 ke instans DB MySQL baru](#MySQL.Procedural.Importing.PerformingImport) bagian ini.

Untuk membuat peran IAM baru secara manual untuk mengimpor database Anda dari Amazon S3, buat peran untuk mendelegasikan izin dari Amazon RDS ke bucket Amazon S3 Anda. Saat membuat peran IAM, Anda dapat menyematkan kebijakan kepercayaan dan izin. Untuk mengimpor file cadangan dari Amazon S3, gunakan kebijakan kepercayaan dan izin yang serupa dengan contoh berikut. Untuk informasi selengkapnya tentang membuat peran, lihat [Membuat peran untuk mendelegasikan izin ke layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). AWS 

Kebijakan kepercayaan dan izin mengharuskan Anda untuk menyediakan Amazon Resource Name (ARN). Untuk informasi selengkapnya tentang pemformatan ARN, lihat [Amazon Resource Names (ARNs) dan AWS ruang nama](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) layanan. 

**Example kebijakan kepercayaan untuk mengimpor dari Amazon S3**    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AssumeRoleForBackup",
      "Effect": "Allow",
      "Principal": {
        "Service": "rds.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

**Example kebijakan izin untuk mengimpor dari Amazon S3 - izin pengguna IAM**  
Dalam contoh berikut, ganti *iam\$1user\$1id* dengan nilai Anda sendiri.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowS3AccessRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/S3Access"
        }
    ]
}
```

**Example kebijakan izin untuk mengimpor dari Amazon S3 - izin peran**  
Dalam contoh berikut, ganti *amzn-s3-demo-bucket* dan *prefix* dengan nilai Anda sendiri.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
        "Effect": "Allow",
        "Action":
            [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
        },
        {
        "Effect": "Allow",
        "Action":
            [
                "s3:GetObject"
            ],
        "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*"
        },
        {
        "Effect": "Allow",
        "Action":
            [
                "kms:Decrypt"
            ],
        "Resource": [
            "arn:aws:kms:us-east-1:111122223333:key/key_id*"
            ]
        }
    ]
}
```
Jika Anda menyertakan sebuah prefiks nama file, sertakan tanda bintang (\$1) setelah prefiks. Jika Anda tidak ingin menyertakan prefiks, sertakan tanda bintang saja.

## Mengimpor data dari Amazon S3 ke instans DB MySQL baru
<a name="MySQL.Procedural.Importing.PerformingImport"></a>

Anda dapat mengimpor data dari Amazon S3 ke instans MySQL DB baru menggunakan API,, atau RDS. Konsol Manajemen AWS AWS CLI

### Konsol
<a name="MySQL.Procedural.Importing.Console"></a>

**Untuk mengimpor data dari Amazon S3 ke instans DB MySQL baru**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di sudut kanan atas konsol Amazon RDS, pilih Wilayah AWS tempat Anda ingin membuat instans DB Anda. Pilih yang Wilayah AWS sama dengan bucket Amazon S3 yang berisi cadangan database Anda. 

1. Di panel navigasi, pilih **Basis Data**.

1. Pilih **Pulihkan dari S3**.

   Halaman **Buat basis data dengan memulihkan dari S3** akan muncul.  
![\[Buat database dengan memulihkan dari halaman S3 tempat Anda menentukan detail untuk memulihkan instans DB dari S3.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/mys-s3-ingestion.png)

1. Di bawah **sumber S3:**

   1. Pilih **Bucket S3** yang berisi cadangan.

   1. (Opsional) Untuk **awalan S3, masukkan awalan** jalur file untuk file yang disimpan di bucket Amazon S3 Anda.

      Jika Anda tidak menentukan awalan, Amazon RDS akan membuat instans DB Anda menggunakan semua file dan folder di folder root bucket S3. Jika Anda menentukan awalan, Amazon RDS akan membuat instans DB Anda menggunakan file dan folder di bucket S3 tempat jalur untuk file dimulai dengan awalan yang ditentukan.

      Misalnya, Anda menyimpan file cadangan Anda di S3 dalam subfolder bernama backup, dan Anda memiliki beberapa set file cadangan, masing-masing di direktorinya sendiri (gzip\$1backup1, gzip\$1backup2, dan sebagainya). Dalam hal ini, untuk memulihkan dari file di folder gzip\$1backup1, Anda menentukan awalan backups/gzip\$1backup1. 

1. Di bagian **Opsi mesin**:

   1. Untuk **Jenis mesin**, pilih **MySQL**.

   1. Untuk **Versi mesin sumber**, pilih versi utama MySQL basis data sumber Anda.

   1. Untuk **Versi Engine**, pilih versi minor default versi utama MySQL Anda di versi utama MySQL Anda. Wilayah AWS

      Dalam Konsol Manajemen AWS, hanya versi minor default yang tersedia. Setelah menyelesaikan impor, Anda dapat memutakhirkan instans DB Anda.

1. Untuk **peran IAM**, buat atau pilih peran IAM dengan kebijakan kepercayaan dan kebijakan izin yang diperlukan yang memungkinkan Amazon RDS mengakses bucket Amazon S3 Anda. Lakukan salah satu tindakan berikut:
   + (Disarankan) Pilih **Buat peran baru**, dan masukkan **nama peran IAM**. Dengan opsi ini, Amazon RDS secara otomatis membuat peran dengan kebijakan kepercayaan dan kebijakan izin untuk Anda.
   + Pilih peran IAM yang ada. Pastikan bahwa peran ini memenuhi semua kriteria di[Penciptaan sebuah peran IAM secara manual](#MySQL.Procedural.Importing.Enabling.IAM).

1. Tentukan informasi instans DB Anda. Untuk informasi tentang setiap pengaturan, lihat [Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md). 
**catatan**  
Pastikan untuk mengalokasikan penyimpanan yang cukup untuk instans DB baru Anda sehingga operasi pemulihan dapat berhasil.  
Untuk memungkinkan pertumbuhan masa depan secara otomatis, di bawah **Konfigurasi penyimpanan tambahan**, pilih **Aktifkan penskalaan otomatis penyimpanan**.

1. Pilih pengaturan tambahan sesuai kebutuhan.

1. Pilih **Buat basis data**.

### AWS CLI
<a name="MySQL.Procedural.Importing.CLI"></a>

Untuk mengimpor data dari Amazon S3 ke instans MySQL DB baru dengan menggunakan AWS CLI, jalankan perintah [restore-db-instance-from-s3](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html) dengan opsi berikut. Untuk informasi tentang setiap pengaturan, lihat [Pengaturan untuk instans DB](USER_CreateDBInstance.Settings.md). 

**catatan**  
Pastikan untuk mengalokasikan penyimpanan yang cukup untuk instans DB baru Anda sehingga operasi pemulihan dapat berhasil.  
Untuk mengaktifkan penskalaan otomatis penyimpanan dan memungkinkan pertumbuhan masa depan secara otomatis, gunakan opsi ini. `--max-allocated-storage`
+ `--allocated-storage`
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--engine`
+ `--master-username`
+ `--manage-master-user-password`
+ `--s3-bucket-name`
+ `--s3-ingestion-role-arn`
+ `--s3-prefix`
+ `--source-engine`
+ `--source-engine-version`

**Example**  
Untuk Linux, macOS, atau Unix:  

```
 1. aws rds restore-db-instance-from-s3 \
 2.     --allocated-storage 250 \
 3.     --db-instance-identifier my_identifier \
 4.     --db-instance-class db.m5.large \
 5.     --engine mysql \
 6.     --master-username admin \
 7.     --manage-master-user-password \
 8.     --s3-bucket-name amzn-s3-demo-bucket \
 9.     --s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename \
10.     --s3-prefix bucket_prefix \
11.     --source-engine my_sql \
12.     --source-engine-version 8.0.32 \
13.     --max-allocated-storage 1000
```
Untuk Windows:  

```
 1. aws rds restore-db-instance-from-s3 ^
 2.     --allocated-storage 250 ^
 3.     --db-instance-identifier my_identifier ^
 4.     --db-instance-class db.m5.large ^
 5.     --engine mysql ^
 6.     --master-username admin ^
 7.     --manage-master-user-password ^
 8.     --s3-bucket-name amzn-s3-demo-bucket ^
 9.     --s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename ^
10.     --s3-prefix bucket_prefix ^
11.     --source-engine mysql ^
12.     --source-engine-version 8.0.32 ^
13.     --max-allocated-storage 1000
```

### API RDS
<a name="MySQL.Procedural.Importing.API"></a>

[Untuk mengimpor data dari Amazon S3 ke instans MySQL DB baru dengan menggunakan Amazon RDS API, panggil operasi Restore fromS3. DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)

## Batasan dan pertimbangan untuk mengimpor file cadangan dari Amazon S3 ke Amazon RDS
<a name="MySQL.Procedural.Importing.Limitations"></a>

Batasan dan pertimbangan berikut berlaku untuk mengimpor file cadangan dari Amazon S3 ke RDS untuk instans DB MySQL: 
+ Anda hanya dapat memigrasikan data ke instans DB baru, bukan ke instans DB yang ada.
+ Anda harus menggunakan Percona XtraBackup untuk mencadangkan data Anda ke Amazon S3. Untuk informasi selengkapnya, lihat [Membuat cadangan basis data](#MySQL.Procedural.Importing.Backup).
+ Bucket Amazon S3 dan instans RDS untuk MySQL DB harus sama. Wilayah AWS
+ Anda tidak dapat memulihkan dari sumber berikut:
  + Ekspor snapshot instans DB ke Amazon S3. Anda juga tidak dapat memigrasikan data dari ekspor snapshot instans DB ke bucket Amazon S3.
  + Database sumber terenkripsi. Namun, Anda dapat mengenkripsi data yang sedang dimigrasikan. Anda juga dapat membiarkan data tidak terenkripsi selama proses migrasi.
  + Database MySQL 5.5 atau 5.6.
+ RDS untuk MySQL tidak mendukung Percona Server untuk MySQL sebagai database sumber karena dapat berisi tabel di file. `compression_dictionary*` `mysql schema`
+ RDS untuk MySQL tidak mendukung migrasi mundur untuk versi mayor atau versi minor. Misalnya, Anda tidak dapat bermigrasi dari MySQL versi 8.0 ke RDS untuk MySQL 5.7, dan Anda tidak dapat bermigrasi dari MySQL versi 8.0.32 ke RDS untuk MySQL versi 8.0.26.
+ Amazon RDS tidak mendukung pengimporan pada kelas instans db.t2.micro DB dari Amazon S3. Namun, Anda dapat mengembalikan ke kelas instans DB yang berbeda, dan kemudian mengubah kelas instance DB nanti. Untuk informasi selengkapnya tentang kelas instans, lihat [Spesifikasi perangkat keras untuk kelas instans DB ](Concepts.DBInstanceClass.Summary.md). 
+ Amazon S3 membatasi ukuran file yang diunggah ke bucket Amazon S3 hingga 5 TB. Jika file cadangan melebihi 5 TB, Anda harus membagi file cadangan tersebut ke dalam beberapa file yang lebih kecil.
+ Amazon RDS membatasi jumlah file yang dapat diunggah ke sebuah bucket Amazon S3 hingga 1 juta. Jika data cadangan untuk basis data Anda, termasuk semua pencadangan penuh dan inkremental, melebihi 1 juta file, gunakan sebuah file Gzip (.gz), tar (.tar.gz), atau xbstream Percona (.xbstream) untuk menyimpan file pencadangan penuh dan inkremental dalam bucket Amazon S3. Percona XtraBackup 8.0 hanya mendukung Percona xbstream untuk kompresi.
+ Untuk menyediakan layanan manajemen untuk setiap instans DB, Amazon RDS membuat `rdsadmin` pengguna saat membuat instans DB. Karena `rdsamin` merupakan pengguna yang dicadangkan di Amazon RDS, batasan berikut berlaku:
  + Amazon RDS tidak mengimpor fungsi, prosedur, tampilan, peristiwa, dan pemicu dengan definer. `'rdsadmin'@'localhost'` Untuk informasi selengkapnya, lihat [Objek yang disimpan dengan 'rdsamin'@'localhost' sebagai penentu](#MySQL.Procedural.Importing.StoredObjects) dan [Hak akses akun pengguna master](UsingWithRDS.MasterAccounts.md). 
  + Saat membuat instans DB, Amazon RDS membuat pengguna master dengan hak istimewa maksimum yang didukung. Saat memulihkan dari cadangan, Amazon RDS secara otomatis menghapus hak istimewa yang tidak didukung yang ditetapkan untuk pengguna yang diimpor.

    Untuk mengidentifikasi pengguna yang mungkin terpengaruh oleh hal ini, lihat [Akun pengguna dengan hak akses yang tidak didukung](#MySQL.Migrating.ExtMySQL.Prechecks.Users). Untuk informasi selengkapnya tentang hak istimewa yang didukung di RDS untuk MySQL, lihat. [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md)
+ Amazon RDS tidak memigrasikan tabel yang dibuat pengguna dalam skema. `mysql`
+ Anda harus mengkonfigurasi `innodb_data_file_path` parameter dengan hanya satu file data yang menggunakan nama file data default`ibdata1:12M:autoextend`. Anda dapat memigrasikan database dengan dua file data, atau dengan file data dengan nama berbeda, menggunakan metode ini.

  Contoh berikut adalah nama file yang tidak diizinkan Amazon RDS: 
  + `innodb_data_file_path=ibdata1:50M`
  + `ibdata2:50M:autoextend`
  + `innodb_data_file_path=ibdata01:50M:autoextend`
+ Anda tidak dapat bermigrasi dari basis data sumber yang memiliki tabel di luar direktori data MySQL default.
+ Ukuran maksimum yang didukung untuk cadangan tidak terkompresi menggunakan metode ini dibatasi hingga 64 TiB. Untuk cadangan terkompresi, batas ini lebih rendah untuk memperhitungkan persyaratan ruang tanpa kompresi. Dalam kasus seperti itu, ukuran cadangan maksimum yang didukung adalah`64 TiB - compressed backup size`. 

  Untuk informasi tentang ukuran database maksimum yang didukung RDS untuk MySQL, lihat dan. [Penyimpanan SSD Tujuan Umum](CHAP_Storage.md#Concepts.Storage.GeneralSSD) [Penyimpanan SSD IOPS yang Tersedia](CHAP_Storage.md#USER_PIOPS) 
+ Amazon RDS tidak mendukung pengimporan MySQL dan komponen dan plugin eksternal lainnya.
+ Amazon RDS tidak memulihkan semuanya dari database Anda. Kami menyarankan Anda menyimpan skema database dan nilai untuk item berikut dari database sistem MySQL sumber Anda, dan kemudian menambahkannya ke RDS yang dipulihkan untuk instance MySQL DB setelah dibuat:
  + Akun pengguna
  + Fungsi
  + Prosedur tersimpan
  + Informasi zona waktu. Informasi zona waktu dimuat dari sistem operasi lokal RDS Anda untuk instance MySQL DB. Untuk informasi selengkapnya, lihat [Zona waktu lokal untuk instans My SQL DB](MySQL.Concepts.LocalTimeZone.md).

### Objek yang disimpan dengan 'rdsamin'@'localhost' sebagai penentu
<a name="MySQL.Procedural.Importing.StoredObjects"></a>

Amazon RDS tidak mengimpor fungsi, prosedur, tampilan, peristiwa, dan pemicu dengan `'rdsadmin'@'localhost'` sebagai definer.

Anda dapat menggunakan skrip SQL berikut pada basis data MySQL sumber Anda untuk menampilkan daftar objek tersimpan yang memiliki pendefinisi yang tidak didukung.

```
-- This SQL query lists routines with `rdsadmin`@`localhost` as the definer.

SELECT
    ROUTINE_SCHEMA,
    ROUTINE_NAME
FROM
    information_schema.routines
WHERE
    definer = 'rdsadmin@localhost';

-- This SQL query lists triggers with `rdsadmin`@`localhost` as the definer.

SELECT
    TRIGGER_SCHEMA,
    TRIGGER_NAME,
    DEFINER
FROM
    information_schema.triggers
WHERE
    DEFINER = 'rdsadmin@localhost';

-- This SQL query lists events with `rdsadmin`@`localhost` as the definer.

SELECT
    EVENT_SCHEMA,
    EVENT_NAME
FROM
    information_schema.events
WHERE
    DEFINER = 'rdsadmin@localhost';

-- This SQL query lists views with `rdsadmin`@`localhost` as the definer.
SELECT
    TABLE_SCHEMA,
    TABLE_NAME
FROM
    information_schema.views
WHERE
    DEFINER = 'rdsadmin@localhost';
```

### Akun pengguna dengan hak akses yang tidak didukung
<a name="MySQL.Migrating.ExtMySQL.Prechecks.Users"></a>

Akun pengguna dengan hak istimewa yang tidak didukung RDS untuk MySQL diimpor tanpa hak istimewa yang tidak didukung. Untuk daftar hak akses yang didukung, lihat [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md).

Anda dapat menjalankan kueri SQL berikut pada basis data sumber Anda untuk menampilkan daftar akun pengguna yang memiliki hak akses yang tidak didukung.

```
SELECT
    user,
    host
FROM
    mysql.user
WHERE
    Shutdown_priv = 'y'
    OR File_priv = 'y'
    OR Super_priv = 'y'
    OR Create_tablespace_priv = 'y';
```

# Mengimpor data dari database MySQL eksternal ke Amazon RDS for MySQL DB instans
<a name="mysql-importing-data-external-database"></a>

Anda dapat mengimpor data dari database MySQL yang ada ke RDS untuk MySQL DB instance. Anda melakukannya dengan menyalin database dengan [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) dan menyalurkannya langsung ke RDS untuk instance MySQL DB. Utilitas baris `mysqldump` perintah biasanya digunakan untuk membuat cadangan dan mentransfer data dari satu server MySQL ke server MySQL lainnya. Ini disertakan dengan perangkat lunak klien MySQL.

**catatan**  
Jika Anda mengimpor atau mengekspor data dalam jumlah besar dengan instans MySQL DB, lebih andal dan lebih cepat untuk memindahkan data masuk dan keluar dari Amazon RDS dengan menggunakan file cadangan dan Amazon S3. `xtrabackup` Untuk informasi selengkapnya, lihat [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md). 

`mysqldump`Perintah khas untuk memindahkan data dari database eksternal ke instans Amazon RDS DB terlihat mirip dengan contoh berikut. Ganti nilai dengan informasi Anda sendiri.

```
mysqldump -u local_user \
    --databases database_name \
    --single-transaction \
    --compress \
    --order-by-primary  \
    --routines=0 \
    --triggers=0 \
    --events=0 \
    -plocal_password | mysql -u RDS_user \
        --port=port_number \
        --host=host_name \
        -pRDS_password
```

**penting**  
Pastikan tidak ada spasi di antara opsi `-p` dan kata sandi yang dimasukkan.  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditunjukkan dalam contoh ini.

Perhatikan rekomendasi dan pertimbangan berikut:
+ Jangan sertakan skema berikut dalam filedump: 
  + `sys`
  + `performance_schema`
  + `information_schema`

  Utilitas `mysqldump` tidak menyertakan skema tersebut secara default.
+ Jika Anda perlu memigrasikan pengguna dan hak istimewa, pertimbangkan untuk menggunakan alat yang menghasilkan bahasa kontrol data (DCL) untuk membuatnya kembali, seperti utilitas. [pt-show-grants](https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html)
+ Untuk melakukan impor, pastikan pengguna yang melakukannya memiliki akses ke instans DB. Untuk informasi selengkapnya, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

Parameternya adalah sebagai berikut:
+ `-u local_user` – Gunakan untuk menentukan nama pengguna. Dalam penggunaan pertama parameter ini, tentukan nama akun pengguna pada database MySQL lokal yang Anda identifikasi dengan parameter. `--databases`
+ `--databases database_name`— Gunakan untuk menentukan nama database pada instance MySQL lokal yang ingin Anda impor ke Amazon RDS.
+ `--single-transaction` – Gunakan untuk memastikan bahwa semua data yang dimuat dari basis data lokal konsisten dengan satu titik waktu. Jika ada proses lain yang mengubah data saat `mysqldump` membacanya, penggunaan parameter ini dapat membantu menjaga integritas data. 
+ `--compress` – Gunakan untuk mengurangi konsumsi bandwidth jaringan dengan mengompres data dari basis data lokal sebelum mengirimkannya ke Amazon RDS.
+ `--order-by-primary` – Gunakan untuk mengurangi waktu pemuatan dengan mengurutkan setiap tabel data berdasarkan kunci primernya.
+ `--routines`Gunakan jika rutinitas seperti prosedur atau fungsi tersimpan ada dalam database yang Anda salin. Setel parameter ke`0`, yang mengecualikan rutinitas selama proses impor. Kemudian kemudian secara manual membuat ulang rutinitas di database Amazon RDS.
+ `--triggers`— Gunakan jika pemicu ada di database yang Anda salin. Setel parameter ke`0`, yang mengecualikan pemicu selama proses impor. Kemudian kemudian buat ulang pemicu secara manual di database Amazon RDS.
+ `--events`— Gunakan jika peristiwa ada dalam database yang Anda salin. Setel parameter ke`0`, yang mengecualikan peristiwa selama proses impor. Kemudian kemudian buat ulang peristiwa secara manual di database Amazon RDS. 
+ `-plocal_password` – Gunakan untuk menentukan kata sandi. Dalam penggunaan pertama parameter ini, tentukan kata sandi untuk akun pengguna yang Anda identifikasi dengan `-u` parameter pertama.
+ `-u RDS_user` – Gunakan untuk menentukan nama pengguna. Dalam penggunaan kedua parameter ini, tentukan nama akun pengguna pada database default untuk instance MySQL DB yang Anda identifikasi dengan parameter. `--host`
+ `--port port_number`— Gunakan untuk menentukan port untuk instance MySQL DB Anda. Secara default, ini adalah 3306 kecuali Anda mengubah nilai saat membuat instans DB.
+ `--host host_name` – Gunakan untuk menentukan nama Sistem Nama Domain (DNS) dari titik akhir instans DB Amazon RDS, misalnya, `myinstance.123456789012.us-east-1.rds.amazonaws.com`. Anda dapat menemukan nilai endpoint dalam detail instans DB di konsol Amazon RDS.
+ `-pRDS_password` – Gunakan untuk menentukan kata sandi. Saat menggunakan parameter ini untuk kedua kalinya, Anda harus menentukan kata sandi untuk akun pengguna yang diidentifikasi oleh parameter `-u` kedua.

Pastikan Anda membuat prosedur, pemicu, fungsi, atau peristiwa tersimpan apa pun secara manual di dalam basis data Amazon RDS Anda. Jika objek ini berada di basis data yang Anda salin, jangan sertakan saat Anda menjalankan `mysqldump`. Untuk melakukannya, sertakan parameter berikut dengan `mysqldump` perintah Anda: 
+ `--routines=0`
+ `--triggers=0`
+ `--events=0`

**Contoh**

Contoh berikut menyalin database `world` sampel pada host lokal ke RDS untuk MySQL DB instance. Ganti nilai dengan informasi Anda sendiri.

Untuk Linux, macOS, atau Unix:

```
sudo mysqldump -u local_user \
    --databases world \
    --single-transaction \
    --compress \
    --order-by-primary  \
    --routines=0 \
    --triggers=0 \
    --events=0 \
    -plocal_password | mysql -u rds_user \
        --port=3306 \
        --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \
        -pRDS_password
```

Untuk Windows:

Jalankan perintah berikut dalam prompt perintah yang telah dibuka dengan mengklik kanan **Command Prompt** pada menu program Windows dan memilih **Run as administrator**. Ganti nilai dengan informasi Anda sendiri.

```
mysqldump -u local_user ^
    --databases world ^
    --single-transaction ^
    --compress ^
    --order-by-primary  ^
    --routines=0 ^
    --triggers=0 ^
    --events=0 ^
    -plocal_password | mysql -u RDS_user ^
        --port=3306 ^
        --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^
        -pRDS_password
```

**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.

# Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi
<a name="mysql-importing-data-reduced-downtime"></a>

Dalam beberapa kasus, Anda mungkin perlu mengimpor data dari database MySQL eksternal yang mendukung aplikasi langsung ke RDS untuk MySQL DB instance atau RDS untuk MySQL Multi-AZ DB cluster. Gunakan prosedur berikut untuk meminimalkan dampak terhadap ketersediaan aplikasi. Prosedur ini juga dapat berguna jika Anda menggunakan basis data yang sangat besar. Dengan menggunakan prosedur ini, Anda dapat mengurangi biaya impor dengan mengurangi jumlah data yang diteruskan ke AWS lewat jaringan. 

Dalam prosedur ini, Anda dapat mentransfer salinan data basis data Anda ke instans Amazon EC2 dan mengimpor data ke basis data Amazon RDS baru. Anda kemudian menggunakan replikasi untuk membawa database Amazon RDS up-to-date dengan instans eksternal langsung Anda, sebelum mengarahkan aplikasi Anda ke database Amazon RDS. Konfigurasikan replikasi berdasarkan koordinat log biner.

**catatan**  
Jika Anda ingin mengimpor data ke instans RDS untuk MySQL DB dan skenario Anda mendukungnya, sebaiknya pindahkan data masuk dan keluar Amazon RDS dengan menggunakan file cadangan dan Amazon S3. Untuk informasi selengkapnya, lihat [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md). 

Diagram berikut menunjukkan mengimpor database MySQL eksternal ke database MySQL di Amazon RDS.

![\[Alur kerja yang menunjukkan mengimpor database MySQL eksternal ke database MySQL di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_1.png)


## Tugas 1: Buat salinan database Anda yang ada
<a name="mysql-importing-data-reduced-downtime-copy-database"></a>

Langkah pertama dalam proses migrasi sejumlah besar data ke RDS untuk database MySQL dengan downtime minimal adalah membuat salinan data sumber. 

Diagram berikut menunjukkan membuat cadangan dari database MySQL.

![\[Alur kerja yang menunjukkan pembuatan cadangan database MySQL.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_2.png)


Anda dapat menggunakan utilitas `mysqldump` untuk menciptakan sebuah pencadangan basis data dalam format SQL atau delimited-text. Kami menyarankan Anda melakukan uji coba dengan setiap format di lingkungan non-produksi untuk melihat metode mana yang meminimalkan jumlah waktu yang `mysqldump` berjalan.

Kami juga menyarankan Anda mempertimbangkan `mysqldump` kinerja terhadap manfaat yang ditawarkan dengan menggunakan format teks terbatas untuk memuat. Pencadangan yang menggunakan format delimited-text akan menciptakan sebuah file teks yang dipisahkan oleh tab untuk setiap tabel yang disalin ke lokasi lain. Untuk mengurangi jumlah waktu yang dibutuhkan untuk mengimpor basis data Anda, Anda dapat memuat file tersebut secara paralel menggunakan perintah `LOAD DATA LOCAL INFILE`. Untuk informasi selengkapnya, lihat [Langkah 5: Muat data](mysql-importing-data-any-source.md#mysql-importing-data-any-source-load-data) di prosedur Mengimpor data dari sumber apa pun.

Sebelum Anda memulai operasi pencadangan, pastikan untuk mengatur opsi replikasi pada database MySQL yang Anda salin ke Amazon RDS. Opsi replikasi mencakup pengaktifan pencatatan log biner dan pengaturan ID server yang unik. Pengaturan opsi ini menyebabkan server Anda mulai mencatat log transaksi basis data dan menyiapkannya menjadi sebuah instans replikasi sumber di lain waktu dalam proses ini.

Perhatikan rekomendasi dan pertimbangan berikut:
+ Gunakan opsi `--single-transaction` dengan `mysqldump` karena dapat memindahkan tahap konsisten dari basis data ke lokasi lain. Untuk memastikan file dump valid, jangan menjalankan pernyataan bahasa definisi data (DDL) saat `mysqldump` sedang berjalan. Anda dapat menjadwalkan sebuah window pemeliharaan untuk operasi ini.
+ Jangan sertakan skema berikut dalam filedump: 
  + `sys`
  + `performance_schema`
  + `information_schema`

  Utilitas `mysqldump` tidak menyertakan skema tersebut secara default.
+ Jika Anda perlu memigrasikan pengguna dan hak istimewa, pertimbangkan untuk menggunakan alat yang menghasilkan bahasa kontrol data (DCL) untuk membuatnya kembali, seperti utilitas. [pt-show-grants](https://www.percona.com/doc/percona-toolkit/LATEST/pt-show-grants.html)

### Mengatur opsi replikasi
<a name="mysql-importing-data-reduced-downtime-set-replication-options"></a>

1. Edit file `my.cnf` File ini biasanya terletak di bawah`/etc`.

   ```
   sudo vi /etc/my.cnf
   ```

   Tambahkan opsi `log_bin` dan `server_id` ke bagian `[mysqld]`. Opsi `log_bin` menyediakan sebuah pengidentifikasi nama file untuk file log biner. Opsi `server_id` menyediakan pengidentifikasi unik untuk server dalam hubungan sumber-replika.

   Contoh berikut menunjukkan `[mysqld]` bagian diperbarui dari `my.cnf` file:

   ```
   [mysqld]
   log-bin=mysql-bin
   server-id=1
   ```

   Untuk informasi selengkapnya, lihat [Mengatur Konfigurasi Sumber Replikasi](https://dev.mysql.com/doc/refman/8.4/en/replication-howto-masterbaseconfig.html) dalam dokumentasi MySQL.

1. Untuk replikasi dengan cluster DB multi-AZ, atur `GTID_MODE` parameter `ENFORCE_GTID_CONSISTENCY` dan ke. `ON`

   ```
   mysql> SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = ON;
   ```

   ```
   mysql> SET @@GLOBAL.GTID_MODE = ON;
   ```

   Pengaturan ini tidak diperlukan untuk replikasi dengan instans DB.

1. Mulai ulang layanan `mysql`.

   ```
   sudo service mysqld restart
   ```

### Untuk menciptakan sebuah salinan cadangan dari basis data yang sudah ada
<a name="mysql-importing-data-reduced-downtime-create-backup"></a>

1. Ciptakan sebuah cadangan dari data Anda menggunakan utilitas `mysqldump`, yang ditentukan dalam format SQL atau delimited-text.

   Untuk MySQL 8.0.25 dan versi yang lebih rendah, `--master-data=2` tentukan untuk membuat file cadangan yang dapat digunakan untuk memulai replikasi antar server. Untuk MySQL 8.0.26 dan versi yang lebih tinggi, `--source-data=2` tentukan untuk membuat file cadangan yang dapat digunakan untuk memulai replikasi antar server. Untuk informasi selengkapnya, lihat [mysqldump — Program Backup Database dalam](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html) dokumentasi MySQL.

   Untuk meningkatkan kinerja dan memastikan integritas data, gunakan `--order-by-primary` dan `--single-transaction` opsi untuk`mysqldump`.

   Untuk menghindari menyertakan database sistem MySQL dalam cadangan, jangan gunakan `--all-databases` opsi dengan. `mysqldump` Untuk informasi selengkapnya, lihat [Membuat Snapshot Data Menggunakan mysqldump dalam dokumentasi MySQL](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto-mysqldump.html).

   Gunakan`chmod`, jika perlu, untuk memastikan bahwa direktori tempat file cadangan dibuat dapat ditulis.
**penting**  
Pada Windows, jalankan jendela perintah sebagai administrator.
   + Untuk menghasilkan output SQL, gunakan perintah berikut:

     Untuk Linux, macOS, atau Unix:

     ```
     sudo mysqldump \
         --databases database_name \
         --master-data=2  \
         --single-transaction \
         --order-by-primary \
         -r backup.sql \
         -u local_user \
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.

     Untuk Windows:

     ```
     mysqldump ^
         --databases database_name ^
         --master-data=2  ^
         --single-transaction ^
         --order-by-primary ^
         -r backup.sql ^
         -u local_user ^
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.
   + Untuk menghasilkan output teks terbatas, gunakan perintah berikut:

     Untuk Linux, macOS, atau Unix:

     ```
     sudo mysqldump \
         --tab=target_directory \
         --fields-terminated-by ',' \
         --fields-enclosed-by '"' \
         --lines-terminated-by 0x0d0a \
         database_name \
         --master-data=2 \
         --single-transaction \
         --order-by-primary \
         -ppassword
     ```

     Untuk Windows:

     ```
     mysqldump ^
         --tab=target_directory ^
         --fields-terminated-by "," ^
         --fields-enclosed-by """ ^
         --lines-terminated-by 0x0d0a ^
         database_name ^
         --master-data=2 ^
         --single-transaction ^
         --order-by-primary ^
         -ppassword
     ```
**catatan**  
Sebagai praktik terbaik keamanan, tentukan kredensil selain petunjuk yang ditampilkan dalam contoh.  
Pastikan Anda membuat prosedur, pemicu, fungsi, atau peristiwa tersimpan apa pun secara manual di dalam basis data Amazon RDS Anda. Jika objek ini berada di basis data yang Anda salin, jangan sertakan saat Anda menjalankan `mysqldump`. Untuk melakukannya, sertakan argumen berikut dengan `mysqldump` perintah Anda:   
`--routines=0`
`--triggers=0`
`--events=0`

     Untuk MySQL 8.0.22 dan versi yang lebih rendah, ketika Anda `mysqldump` menjalankan dan menentukan format teks terbatas, komentar dikembalikan. `CHANGE MASTER TO` Komentar ini berisi nama dan posisi file log master. Untuk MySQL 8.0.23 dan versi yang lebih tinggi, ketika Anda `mysqldump` menjalankan menggunakan format teks terbatas, komentar dikembalikan. `CHANGE REPLICATION SOURCE TO` Komentar ini berisi nama file log sumber dan posisi. Jika instance eksternal adalah MySQL 8.0.23 dan versi yang lebih tinggi, perhatikan nilai untuk dan. `MASTER_LOG_FILE` `MASTER_LOG_POS` Anda memerlukan nilai-nilai ini saat menyiapkan replikasi.

     Output berikut dikembalikan untuk MySQL 8.0.22 dan versi yang lebih rendah:

     ```
     -- Position to start replication or point-in-time recovery from
     --
     -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
     ```

     Output berikut dikembalikan untuk MySQL 8.0.23 dan versi yang lebih tinggi:

     ```
     -- Position to start replication or point-in-time recovery from
     --
     -- CHANGE SOURCE TO SOURCE_LOG_FILE='mysql-bin-changelog.000031', SOURCE_LOG_POS=107;
     ```

     Untuk MySQL 8.0.22 dan versi yang lebih rendah, jika Anda menggunakan format SQL, Anda bisa mendapatkan nama file log master dan posisi di komentar di `CHANGE MASTER TO` file cadangan. Untuk MySQL 8.0.23 dan versi yang lebih tinggi, jika Anda menggunakan format SQL, Anda bisa mendapatkan nama file log sumber dan posisi di komentar di `CHANGE REPLICATION SOURCE TO` file cadangan. 

1. Kompres data yang disalin untuk mengurangi jumlah sumber daya jaringan yang dibutuhkan untuk menyalin data Anda ke basis data Amazon RDS. Catat ukuran file cadangan. Anda memerlukan informasi ini saat menentukan seberapa besar instans Amazon EC2 yang harus dibuat. Setelah selesai, kompres file cadangan menggunakan GZIP atau utilitas kompresi pilihan Anda. 
   + Untuk mengompres output SQL, gunakan perintah berikut:

     ```
     gzip backup.sql
     ```
   + Untuk mengompres output teks terbatas, gunakan perintah berikut:

     ```
     tar -zcvf backup.tar.gz target_directory
     ```

## Tugas 2: Buat instans Amazon EC2 dan salin database terkompresi
<a name="mysql-importing-data-reduced-downtime-create-ec2-copy-database"></a>

Penyalinan file cadangan basis data terkompresi ke sebuah instans Amazon EC2 membutuhkan lebih sedikit sumber daya jaringan dibandingkan dengan melakukan penyalinan langsung data tidak terkompresi antar instans basis data. Setelah data Anda ada di Amazon EC2, Anda dapat menyalinnya dari sana langsung ke database MySQL Anda. Agar Anda dapat menghemat biaya sumber daya jaringan, instans Amazon EC2 Anda harus Wilayah AWS sama dengan instans Amazon RDS DB Anda. Memiliki instans Amazon EC2 yang Wilayah AWS sama dengan database Amazon RDS Anda juga mengurangi latensi jaringan selama impor.

Diagram berikut menunjukkan penyalinan cadangan database ke instans Amazon EC2.

![\[Alur kerja yang menampilkan penyalinan cadangan database ke instans Amazon EC2.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_3.png)


### Membuat instans Amazon EC2 dan menyalin data Anda
<a name="mysql-importing-data-reduced-downtime-create-ec2"></a>

1. Di Wilayah AWS tempat Anda berencana membuat database Amazon RDS, buat virtual private cloud (VPC), grup keamanan VPC, dan subnet VPC. Pastikan aturan masuk untuk grup keamanan VPC Anda mengizinkan alamat IP yang dibutuhkan agar aplikasi Anda dapat terhubung ke AWS. Anda dapat menentukan rentang alamat IP — misalnya, —atau grup keamanan VPC `203.0.113.0/24` lainnya. Anda dapat menggunakan [konsol VPC Amazon](https://console.aws.amazon.com/vpc) untuk membuat dan mengelola VPCs, subnet, dan grup keamanan. Untuk informasi selengkapnya, lihat [Memulai Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#getting-started) di *Panduan Pengguna Amazon Virtual Private Cloud*.

1. Buka [konsol Amazon EC2](https://console.aws.amazon.com/ec2) dan pilih yang berisi Wilayah AWS instans Amazon EC2 dan database Amazon RDS Anda. Luncurkan sebuah instans Amazon EC2 menggunakan VPC, subnet, dan grup keamanan yang Anda buat pada Langkah 1. Pastikan Anda memilih tipe instans dengan penyimpanan yang cukup untuk file cadangan basis data Anda saat tidak terkompresi. Untuk detail tentang instans Amazon EC2, lihat [Memulai Amazon EC2 di Panduan Pengguna Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) *Elastic Compute Cloud*.

1. Untuk terhubung ke basis data Amazon RDS Anda dari instans Amazon EC2 Anda, edit grup keamanan VPC Anda. Tambahkan aturan masuk yang menentukan alamat IP privat instans EC2 Anda. Anda dapat menemukan alamat IP pribadi pada tab **Detail** dari panel **Instans** dalam jendela konsol EC2. Untuk mengedit grup keamanan VPC dan menambahkan aturan masuk, pilih **Grup Keamanan** dalam panel navigasi konsol EC2, pilih grup keamanan Anda, lalu tambahkan aturan masuk untuk MySQL atau Aurora yang menentukan alamat IP privat instans EC2 Anda. Untuk mempelajari cara menambahkan aturan masuk ke grup keamanan VPC, [lihat Aturan grup keamanan di Panduan Pengguna](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) *Amazon Virtual Private Cloud*.

1. Salin file cadangan basis data terkompresi Anda dari sistem lokal ke instans Amazon EC2 Anda. Gunakan`chmod`, jika perlu, untuk memastikan bahwa Anda memiliki izin menulis untuk direktori target instans Amazon EC2. Anda dapat menggunakan `scp` atau klien Secure Shell (SSH) untuk menyalin file. Perintah berikut adalah `scp` perintah contoh:

   ```
   scp -r -i key pair.pem backup.sql.gz ec2-user@EC2 DNS:/target_directory/backup.sql.gz
   ```
**penting**  
Saat menyalin data sensitif, pastikan untuk menggunakan protokol transfer jaringan yang aman.

1. Hubungkan ke instans Amazon EC2 Anda dan instal pembaruan terkini dan alat klien MySQL dengan menggunakan perintah berikut:

   ```
   sudo yum update -y
   sudo yum install mysql -y
   ```

   Untuk informasi selengkapnya, lihat [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) di *Panduan Pengguna Amazon Elastic Compute Cloud*.
**penting**  
Contoh ini menginstal klien MySQL pada Amazon Machine Image (AMI) untuk distribusi Linux Amazon. Contoh ini tidak menginstal klien MySQL pada distribusi yang berbeda, seperti Ubuntu atau Red Hat Enterprise Linux. Untuk informasi tentang menginstal MySQL, lihat [Menginstal MySQL di dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.4/en/installing.html).

1. Saat terhubung ke instans Amazon EC2, dekompresi file cadangan basis data Anda. Perintah berikut adalah contohnya.
   + Untuk mendekompresi output SQL, gunakan perintah berikut:

     ```
     gzip backup.sql.gz -d
     ```
   + Untuk mendekompresi output delimited-text, gunakan perintah berikut:

     ```
     tar xzvf backup.tar.gz
     ```

## Tugas 3: Membuat database MySQL dan mengimpor data dari instans Amazon EC2
<a name="mysql-importing-data-reduced-downtime-create-database-import-data"></a>

Dengan membuat RDS untuk instans MySQL DB atau RDS untuk kluster DB Multi-AZ MySQL Wilayah AWS sama dengan instans Amazon EC2 Anda, Anda dapat mengimpor file cadangan database dari Amazon EC2 lebih cepat daripada melalui internet.

Diagram berikut menunjukkan mengimpor cadangan dari instans Amazon EC2 ke database MySQL.

![\[Alur kerja yang menunjukkan mengimpor cadangan dari instans EC2 ke database MySQL.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_4.png)


### Untuk membuat database MySQL dan mengimpor data Anda
<a name="mysql-importing-data-reduced-downtime-create-database"></a>

1. Tentukan kelas instans DB dan jumlah ruang penyimpanan yang dibutuhkan untuk mendukung perkiraan beban kerja untuk basis data Amazon RDS ini. Sebagai bagian dari proses ini, putuskan berapa ruang dan kapasitas pemrosesan yang memadai untuk prosedur pemuatan data Anda. Juga, putuskan apa yang diperlukan untuk menangani beban kerja produksi. Anda dapat memperkirakan ini berdasarkan ukuran dan sumber daya database MySQL sumber. Untuk informasi selengkapnya, lihat [ DB](Concepts.DBInstanceClass.md).

1. Buat instans DB atau cluster DB multi-AZ di Wilayah AWS yang berisi instans Amazon EC2 Anda.

   Untuk membuat RDS untuk MySQL Multi-AZ DB cluster, ikuti petunjuk di. [Membuat cluster DB Multi-AZ untuk Amazon RDS](create-multi-az-db-cluster.md)

   Untuk membuat instans RDS untuk MySQL DB, ikuti petunjuk [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md) dan gunakan panduan berikut:
   + Tentukan versi mesin DB yang kompatibel dengan instans DB sumber Anda.
   + Tentukan cloud privat virtual (VPC) dan grup keamanan VPC yang sama untuk instans Amazon EC2 Anda. Pendekatan ini memastikan bahwa instans Amazon EC2 dan instans Amazon RDS Anda terlihat oleh satu sama lain pada jaringan. Pastikan instans DB Anda dapat diakses publik. Untuk mengatur replikasi dengan database sumber Anda seperti yang dijelaskan di bagian berikut, instans DB Anda harus dapat diakses publik.
   + Jangan mengonfigurasikan lebih dari satu Zona Ketersediaan, retensi cadangan, atau replika baca sebelum Anda selesai mengimpor cadangan basis data. Setelah impor selesai, Anda dapat mengonfigurasi Multi-AZ dan retensi cadangan untuk instans produksi.

1. Tinjau opsi konfigurasi default untuk basis data Amazon RDS. Jika grup parameter default untuk basis data tidak memiliki opsi konfigurasi yang Anda inginkan, temukan grup parameter lain atau buat grup parameter baru. Untuk informasi selengkapnya tentang membuat grup parameter, lihat[Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

1. Hubungkan ke basis data Amazon RDS baru sebagai pengguna master. Buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang perlu mengakses instans DB. Nama host untuk database Amazon RDS adalah nilai **Endpoint** untuk instance DB ini tanpa nomor port, misalnya,. `mysampledb.123456789012.us-west-2.rds.amazonaws.com` Anda dapat menemukan nilai endpoint dalam detail database di konsol Amazon RDS.

1. Hubungkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat [Connect ke instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux) di *Panduan Pengguna Amazon Elastic Compute Cloud*. 

1. Hubungkan ke basis data Amazon RDS Anda sebagai sebuah host jarak jauh dari instans Amazon EC2 Anda menggunakan perintah `mysql`. Perintah berikut adalah contoh:

   ```
   mysql -h host_name -P 3306 -u db_master_user -p
   ```

   *host\$1name*Ini adalah titik akhir basis data Amazon RDS.

1. Pada `mysql` prompt, jalankan `source` perintah dan berikan nama file dump database Anda. Perintah ini memuat data ke instans Amazon RDS DB.
   + Untuk format SQL, gunakan perintah berikut:

     ```
     mysql> source backup.sql;
     ```
   + Untuk format teks terbatas, buat database terlebih dahulu, jika bukan database default yang Anda buat saat menyiapkan database Amazon RDS.

     ```
     mysql> create database database_name;
     mysql> use database_name;
     ```

     Lalu buat tabel.

     ```
     mysql> source table1.sql
     mysql> source table2.sql
     etc...
     ```

     Lalu impor data.

     ```
     mysql> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a';
     mysql> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a';
     etc...
     ```

     Untuk meningkatkan performa, Anda dapat melakukan operasi ini secara paralel dari beberapa koneksi sehingga semua tabel Anda akan diciptakan dan kemudian dimuat secara bersamaan.
**catatan**  
Jika Anda menggunakan opsi pemformatan data apa pun `mysqldump` saat Anda pertama kali membuang tabel, pastikan untuk menggunakan opsi yang sama `LOAD DATA LOCAL INFILE` untuk memastikan interpretasi yang tepat dari konten file data.

1. Jalankan `SELECT` kueri sederhana terhadap satu atau dua tabel dalam database yang diimpor untuk memverifikasi bahwa impor berhasil.

Jika Anda tidak lagi memerlukan instans Amazon EC2 yang digunakan dalam prosedur ini, hentikan instans EC2 untuk mengurangi penggunaan sumber daya Anda. AWS Untuk menghentikan instans EC2, lihat [Mengakhiri instance di Panduan Pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console) *Amazon Elastic Compute Cloud*.

## Tugas 4: Replikasi data dari database eksternal Anda ke database Amazon RDS baru Anda
<a name="mysql-importing-data-reduced-downtime-replicate-data"></a>

Database sumber Anda kemungkinan diperbarui selama waktu yang diperlukan untuk menyalin dan mentransfer data ke database MySQL. Dengan demikian, Anda dapat menggunakan replikasi untuk membawa database yang disalin up-to-date dengan database sumber.

![\[Alur kerja yang menunjukkan replikasi data dari database MySQL eksternal ke database di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_5.png)


Izin yang diperlukan untuk memulai replikasi pada database Amazon RDS dibatasi dan tidak tersedia untuk pengguna master Amazon RDS Anda. Karena itu, gunakan prosedur tersimpan Amazon RDS yang sesuai untuk versi mesin utama Anda: 
+ [mysql\$1rds\$1set\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master) 
+ [](mysql-stored-proc-replicating.md#mysql_rds_set_external_source)
+ [mysql.rds\$1set\$1external\$1master\$1gtid](mysql_rds_set_external_master_gtid.md)untuk mengkonfigurasi replikasi dan [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) untuk memulai replikasi

### Memulai replikasi
<a name="mysql-importing-data-reduced-downtime-start-replication"></a>

Di Tugas 1, [saat Anda mengatur opsi replikasi](#mysql-importing-data-reduced-downtime-set-replication-options), Anda mengaktifkan logging biner dan menetapkan ID server unik untuk basis data sumber Anda. Sekarang, Anda dapat mengatur database Amazon RDS Anda sebagai replika dengan database langsung Anda sebagai contoh replikasi sumber.

1. Di konsol Amazon RDS, tambahkan alamat IP server yang menghosting database sumber ke grup keamanan VPC untuk database Amazon RDS. Untuk informasi selengkapnya tentang mengonfigurasi grup keamanan VPC, [lihat Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di Panduan Pengguna *Amazon Virtual Private Cloud*. 

   Anda mungkin juga perlu mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP database Amazon RDS Anda sehingga dapat berkomunikasi dengan instance sumber Anda. Untuk menemukan alamat IP database Amazon RDS, gunakan `host` perintah:

   ```
   host host_name
   ```

   *host\$1name*Ini adalah nama DNS dari titik akhir database Amazon RDS, misalnya. `myinstance.123456789012.us-east-1.rds.amazonaws.com` Anda dapat menemukan nilai endpoint dalam detail instans DB di konsol Amazon RDS.

1. Menggunakan klien pilihan Anda, hubungkan ke instans sumber dan buat pengguna untuk digunakan untuk replikasi. Akun ini digunakan hanya untuk replikasi dan harus dibatasi pada domain Anda untuk meningkatkan keamanan. Perintah berikut adalah contoh:

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```
**catatan**  
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Untuk instans sumber, berikan hak istimewa `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Misalnya, untuk memberikan keistimewaan `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna '`repl_user`' pada domain Anda, terbitkan perintah berikut:

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

1. Jadikan basis data Amazon RDS sebagai replika. Connect ke database Amazon RDS sebagai pengguna utama dan identifikasi database sumber sebagai instance replikasi sumber dengan menggunakan prosedur tersimpan Amazon RDS yang sesuai: 
   + [mysql\$1rds\$1set\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master)
   + [](mysql-stored-proc-replicating.md#mysql_rds_set_external_source)

   Jika Anda memiliki file cadangan format SQL, gunakan nama file log master dan posisi log master yang Anda tentukan di Langkah 4. Jika Anda menggunakan format teks terbatas, gunakan nama dan posisi yang Anda tentukan saat membuat file cadangan. Perintah berikut adalah contohnya:

   **MySQL 8.4 dan versi yang lebih tinggi**

   ```
   CALL mysql.rds_set_external_source ('myserver.mydomain.com', 3306,
       'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```

   **MySQL 8.0 dan versi yang lebih rendah**

   ```
   CALL mysql.rds_set_external_master ('myserver.mydomain.com', 3306,
       'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```
**catatan**  
Tentukan kredensial selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Pada database Amazon RDS, untuk memulai replikasi, jalankan perintah berikut yang menggunakan prosedur [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) tersimpan:

   ```
   CALL mysql.rds_start_replication;
   ```

1. Pada database Amazon RDS, untuk menentukan kapan replika diperbarui dengan instance replikasi sumber, jalankan perintah [SHOW REPLICA](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) STATUS. Hasil perintah `SHOW REPLICA STATUS` mencakup bidang `Seconds_Behind_Master`. Ketika `Seconds_Behind_Master` bidang mengembalikan 0, maka replika up to date dengan contoh replikasi sumber.
**catatan**  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

1. Setelah database Amazon RDS up to date, aktifkan backup otomatis sehingga Anda dapat memulihkan database tersebut jika diperlukan. Anda dapat mengaktifkan atau memodifikasi pencadangan otomatis untuk database Amazon RDS Anda dengan menggunakan konsol [Amazon](https://console.aws.amazon.com/rds/) RDS. Untuk informasi selengkapnya, lihat [Pengantar cadangan](USER_WorkingWithAutomatedBackups.md).

## Tugas 5: Arahkan ulang aplikasi langsung Anda ke instans Amazon RDS Anda
<a name="mysql-importing-data-reduced-downtime-redirect-app"></a>

Setelah database MySQL diperbarui dengan instance replikasi sumber, Anda sekarang dapat memperbarui aplikasi langsung Anda untuk menggunakan instans Amazon RDS. 

![\[Alur kerja yang menunjukkan penghentian replikasi dan mengarahkan aplikasi langsung ke database di Amazon RDS.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/MigrateMySQLToRDS_6.png)


### Untuk mengarahkan aplikasi langsung Anda ke database MySQL Anda dan menghentikan replikasi
<a name="mysql-importing-data-reduced-downtime-redirect-app-stop-app"></a>

1. Untuk menambahkan grup keamanan VPC untuk basis data Amazon RDS, tambahkan alamat IP server yang meng-host aplikasi. Untuk informasi selengkapnya tentang memodifikasi grup keamanan VPC, [lihat Mengonfigurasi aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) di Panduan Pengguna *Amazon Virtual Private Cloud*. 

1. Verifikasi bahwa `Seconds_Behind_Master` bidang dalam hasil perintah [SHOW REPLICA STATUS](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) adalah 0, yang menunjukkan bahwa replika sudah up to date dengan instance replikasi sumber.

   ```
   SHOW REPLICA STATUS;
   ```
**catatan**  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

1. Tutup semua koneksi ke sumber setelah transaksi selesai.

1. Perbarui aplikasi Anda untuk menggunakan basis data Amazon RDS. Pembaruan ini biasanya melibatkan perubahan pengaturan koneksi untuk mengidentifikasi nama host dan port basis data Amazon RDS, akun pengguna dan kata sandi untuk terhubung, dan basis data yang digunakan.

1. Hubungkan ke instans DB.

   Untuk klaster DB Multi-AZ, hubungkan ke instans DB penulis.

1. Hentikan replikasi untuk instans Amazon RDS dengan menjalankan perintah berikut yang menggunakan prosedur [mysql.rds\$1stop\$1replication](mysql-stored-proc-replicating.md#mysql_rds_stop_replication) tersimpan:

   ```
   CALL mysql.rds_stop_replication;
   ```

1. Setel ulang konfigurasi replikasi sehingga instance ini tidak lagi diidentifikasi sebagai replika dengan menggunakan prosedur tersimpan Amazon RDS yang sesuai di database Amazon RDS Anda:
   +  [mysql\$1rds\$1reset\$1external\$1master (RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_reset_external_master) 
   + [](mysql-stored-proc-replicating.md#mysql_rds_reset_external_source)

   **MySQL 8.4 dan versi yang lebih tinggi**

   ```
   CALL mysql.rds_reset_external_source;
   ```

   **MySQL 8.0 dan versi yang lebih rendah**

   ```
   CALL mysql.rds_reset_external_master;
   ```

1. Aktifkan fitur Amazon RDS tambahan seperti dukungan Multi-AZ dan replika baca. Lihat informasi yang lebih lengkap di [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md) dan [Menggunakan replika baca instans DB](USER_ReadRepl.md).

# Mengimpor data dari sumber apa pun ke Amazon RDS for MySQL DB instans
<a name="mysql-importing-data-any-source"></a>

Dengan Amazon RDS, Anda dapat memigrasikan data MySQL yang ada dari sumber apa pun ke RDS untuk instans DB MySQL. Anda dapat mentransfer data dari database lokal, penyedia cloud lain, atau RDS yang ada untuk instans MySQL DB ke RDS target untuk instans MySQL DB. Dengan fungsi ini, Anda dapat mengkonsolidasikan database, menerapkan solusi pemulihan bencana, atau transisi dari database yang dikelola sendiri. Skenario umum termasuk pindah dari server MySQL yang dihosting sendiri ke instans Amazon RDS DB yang dikelola sepenuhnya, mengkonsolidasikan beberapa database MySQL ke dalam satu instans DB, atau membuat lingkungan pengujian dengan data produksi. Bagian berikut memberikan step-by-step petunjuk untuk mengimpor data MySQL Anda menggunakan metode `mysqldump` seperti, file cadangan, atau replikasi.

## Langkah 1: Buat file datar yang berisi data yang akan dimuat
<a name="mysql-importing-data-any-source-create-flat-files"></a>

Gunakan format umum, seperti CSV (Comma-Separated Values), untuk menyimpan data yang akan dimuat. Setiap tabel harus memiliki file sendiri—Anda tidak dapat menggabungkan data untuk beberapa tabel dalam file yang sama. Beri setiap file nama yang sama dengan tabelnya. Ekstensi file dapat berupa apa pun yang Anda inginkan. Misalnya, jika nama tabelnya`sales`, nama file bisa jadi `sales.csv` atau`sales.txt`.

Jika memungkinkan, urutkan data dengan kunci utama tabel yang sedang dimuat. Tindakan ini secara drastis meningkatkan waktu pemuatan dan meminimalkan kebutuhan penyimpanan disk. 

Kecepatan dan efisiensi prosedur ini ditentukan oleh kemampuan untuk mempertahankan ukuran file tetap kecil. Jika ukuran file individual yang tidak terkompresi lebih besar dari 1 GiB, bagilah ke dalam beberapa file dan muat setiap file secara terpisah.

Pada sistem seperti Unix (termasuk Linux), gunakan perintah `split`. Misalnya, perintah berikut membagi file `sales.csv` menjadi beberapa file berukuran kurang dari 1 GiB, yang hanya membagi pada jeda baris (-C 1024m). Nama-nama file baru termasuk sufiks numerik menaik. Perintah berikut menghasilkan file dengan nama seperti `sales.part_00` dan`sales.part_01`. 

```
split -C 1024m -d sales.csv sales.part_ 
```

Utilitas yang serupa juga tersedia untuk sistem operasi lain.

Anda dapat menyimpan file datar di mana saja. Namun, ketika Anda memuat data di [Langkah 5](#mysql-importing-data-any-source-load-data), Anda harus memanggil `mysql` shell dari lokasi yang sama di mana file ada, atau menggunakan jalur absolut untuk file saat Anda menjalankan`LOAD DATA LOCAL INFILE`.

## Langkah 2: Hentikan aplikasi apa pun dari mengakses instans DB target
<a name="mysql-importing-data-any-source-stop-apps"></a>

Sebelum memulai pemuatan besar, hentikan semua aktivitas aplikasi mengakses instans DB target yang Anda rencanakan untuk dimuat. Kami menyarankan hal ini terutama jika sesi lain akan memodifikasi tabel yang sedang dimuat atau tabel yang menjadi rujukan. Tindakan ini dapat mengurangi risiko pelanggaran pembatasan yang terjadi selama pemuatan dan meningkatkan performa pemuatan. Tindakan ini juga memungkinkan untuk memulihkan instans DB ke titik tepat sebelum pemuatan tanpa kehilangan perubahan yang dibuat oleh proses yang tidak terlibat dalam pemuatan. 

Tentu saja, terkadang ini tidak memungkinkan atau tidak praktis. Jika Anda tidak dapat menghentikan aplikasi dari mengakses instans DB sebelum pemuatan, lakukan langkah-langkah untuk memastikan ketersediaan dan integritas data Anda. Langkah-langkah tertentu yang dibutuhkan dapat bervariasi tergantung kasus penggunaan dan persyaratan situs tertentu. 

## Langkah 3: Buat snapshot DB
<a name="mysql-importing-data-any-source-create-snapshot"></a>

Jika Anda berencana memuat data ke dalam instans DB baru yang tidak berisi data, Anda dapat melompati langkah ini. Jika tidak, sebaiknya Anda membuat snapshot DB dari instans Amazon RDS DB target sebelum dan sesudah pemuatan data. Snapshot Amazon RDS DB adalah cadangan lengkap instans DB Anda yang dapat Anda gunakan untuk memulihkan instans DB Anda ke status yang diketahui. Saat Anda memulai snapshot DB, I/O operasi ke instans DB Anda ditangguhkan sementara saat database Anda dicadangkan. 

Jika perlu, segera buat sebuah snapshot DB sebelum pemuatan agar Anda dapat memulihkan basis data ke statusnya sebelum pemuatan. Dengan snapshot DB yang diambil segera setelah pemuatan, Anda tidak perlu memuat data lagi jika terjadi hal yang tidak diinginkan. Anda juga dapat menggunakan snapshot DB setelah pemuatan untuk mengimpor data ke instance database baru. 

Contoh berikut menjalankan AWS CLI [create-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html)perintah untuk membuat snapshot DB dari `AcmeRDS` instance dan memberikan snapshot DB pengenal. `"preload"`

Untuk Linux, macOS, atau Unix:

```
aws rds create-db-snapshot \
    --db-instance-identifier AcmeRDS \
    --db-snapshot-identifier preload
```

Untuk Windows:

```
aws rds create-db-snapshot ^
    --db-instance-identifier AcmeRDS ^
    --db-snapshot-identifier preload
```

Anda juga dapat menggunakan pemulihan dari fungsionalitas snapshot DB untuk membuat instans DB pengujian untuk melakukan dry run atau untuk membatalkan perubahan yang dibuat selama pemuatan. 

Harap diingat bahwa pemulihan basis data dari sebuah snapshot DB akan menciptakan sebuah instans DB baru yang, seperti semua instans DB, memiliki pengidentifikasi yang unik dan titik akhir. Untuk memulihkan instans DB tanpa mengubah titik akhir, pertama-tama hapus instans DB sehingga Anda dapat menggunakan ulang titik akhir. 

Misalnya, untuk membuat instans DB untuk dry run atau pengujian lainnya, beri instans DB tersebut pengidentifikasinya sendiri. Dalam contoh ini, `AcmeRDS-2`" adalah pengidentifikasinya. Contoh ini terhubung ke instans DB menggunakan titik akhir yang terkait dengan `AcmeRDS-2`. Untuk informasi selengkapnya, lihat [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html).

Untuk Linux, macOS, atau Unix:

```
aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier AcmeRDS-2 \
    --db-snapshot-identifier preload
```

Untuk Windows:

```
aws rds restore-db-instance-from-db-snapshot ^
    --db-instance-identifier AcmeRDS-2 ^
    --db-snapshot-identifier preload
```

Untuk menggunakan ulang titik akhir yang sudah ada, pertama-tama hapus instans DB kemudian berikan pengidentifikasi yang sama kepada basis data yang dipulihkan. Untuk informasi selengkapnya, lihat [delete-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance.html). 

Contoh berikut juga mengambil snapshot DB akhir dari instans DB sebelum menghapusnya. Ini adalah langkah opsional, tetapi direkomendasikan. 

Untuk Linux, macOS, atau Unix:

```
aws rds delete-db-instance \
    --db-instance-identifier AcmeRDS \
    --final-db-snapshot-identifier AcmeRDS-Final

aws rds restore-db-instance-from-db-snapshot \
    --db-instance-identifier AcmeRDS \
    --db-snapshot-identifier preload
```

Untuk Windows:

```
aws rds delete-db-instance ^
    --db-instance-identifier AcmeRDS ^
    --final-db-snapshot-identifier AcmeRDS-Final

aws rds restore-db-instance-from-db-snapshot ^
    --db-instance-identifier AcmeRDS ^
    --db-snapshot-identifier preload
```

## Langkah 4 (Opsional): Matikan cadangan otomatis Amazon RDS
<a name="mysql-importing-data-any-source-turn-off-automated-backups"></a>

**Awas**  
Jangan mematikan pencadangan otomatis jika Anda perlu melakukan point-in-time pemulihan.

Mematikan pencadangan otomatis adalah pengoptimalan kinerja dan tidak diperlukan untuk pemuatan data. Mematikan backup otomatis menghapus semua backup yang ada. Akibatnya, setelah Anda mematikan pencadangan otomatis, point-in-time pemulihan tidak mungkin dilakukan. Snapshot DB manual tidak terpengaruh dengan menonaktifkan pencadangan otomatis. Semua snapshot DB manual yang sudah ada tetap tersedia untuk pemulihan.

Penonaktifan pencadangan otomatis mengurangi waktu pemuatan sekitar 25 persen dan mengurangi jumlah ruang penyimpanan yang dibutuhkan selama pemuatan. Jika Anda berencana memuat data ke dalam sebuah instans DB baru yang tidak berisi data, penonaktifan pencadangan adalah cara yang mudah untuk mempercepat pemuatan dan menghindari penggunaan penyimpanan tambahan yang diperlukan untuk pencadangan. Namun, dalam beberapa kasus Anda mungkin berencana untuk melakukan pemuatan ke dalam instans DB yang sudah berisi data. Jika demikian, pertimbangkan manfaat mematikan cadangan terhadap dampak kehilangan kemampuan untuk melakukan. point-in-time-recovery 

Instans DB memiliki pencadangan otomatis yang diaktifkan secara default (dengan periode retensi satu hari). Untuk menonaktifkan pencadangan otomatis, atur periode retensi pencadangan ke nol. Setelah pemuatan selesai, Anda dapat mengaktifkan kembali pencadangan dengan mengatur periode retensi pencadangan ke nilai selain nol. Untuk mengaktifkan atau mematikan cadangan, Amazon RDS mematikan instans DB dan kemudian memulai ulang untuk mengaktifkan atau menonaktifkan pencatatan MySQL. 

Jalankan AWS CLI `modify-db-instance` perintah untuk mengatur retensi cadangan ke nol dan segera terapkan perubahan. Untuk mengatur periode retensi menjadi nol diperlukan mulai ulang instans DB, jadi tunggu hingga mulai ulang selesai sebelum melanjutkan. Untuk informasi selengkapnya, lihat [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html).

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-instance \
    --db-instance-identifier AcmeRDS \
    --apply-immediately \
    --backup-retention-period 0
```

Untuk Windows:

```
aws rds modify-db-instance ^
    --db-instance-identifier AcmeRDS ^
    --apply-immediately ^
    --backup-retention-period 0
```

Anda dapat memeriksa status instans DB Anda dengan AWS CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)perintah. Contoh berikut menampilkan status instans DB dari instans `AcmeRDS` DB:

```
aws rds describe-db-instances --db-instance-identifier AcmeRDS --query "*[].{DBInstanceStatus:DBInstanceStatus}"
```

Ketika status instans DB`available`, Anda siap untuk melanjutkan ke langkah berikutnya. 

## Langkah 5: Muat data
<a name="mysql-importing-data-any-source-load-data"></a>

Untuk membaca baris dari file datar Anda ke dalam tabel database, gunakan pernyataan MySQL`LOAD DATA LOCAL INFILE`.

**catatan**  
Anda harus memanggil `mysql` shell dari lokasi yang sama di mana file datar Anda ada, atau menggunakan jalur absolut untuk file saat Anda menjalankan`LOAD DATA LOCAL INFILE`.

Contoh berikut menunjukkan cara memuat data dari file bernama `sales.txt` ke dalam tabel bernama `Sales` dalam database:

```
mysql> LOAD DATA LOCAL INFILE 'sales.txt' INTO TABLE Sales FIELDS TERMINATED BY ' ' ENCLOSED BY '' ESCAPED BY '\\';
Query OK, 1 row affected (0.01 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0
```

Untuk informasi selengkapnya tentang `LOAD DATA` pernyataan tersebut, lihat [MEMUAT Pernyataan DATA](https://dev.mysql.com/doc/refman/8.4/en/load-data.html) dalam dokumentasi MySQL.

## Langkah 6: Hidupkan kembali backup otomatis Amazon RDS
<a name="mysql-importing-data-any-source-turn-on-automated-backups"></a>

Jika Anda mematikan pencadangan otomatis Amazon RDS di [Langkah 4](#mysql-importing-data-any-source-turn-off-automated-backups), setelah pemuatan selesai, aktifkan pencadangan otomatis dengan menyetel periode retensi cadangan kembali ke nilai pramuatnya. Seperti disebutkan di Langkah 4, Amazon RDS memulai ulang instans DB, jadi bersiaplah untuk pemadaman singkat. 

Contoh berikut menjalankan AWS CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)perintah untuk mengaktifkan backup otomatis untuk instans `AcmeRDS` DB dan mengatur periode retensi menjadi satu hari:

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-instance \
    --db-instance-identifier AcmeRDS \
    --backup-retention-period 1 \
    --apply-immediately
```

Untuk Windows:

```
aws rds modify-db-instance ^
    --db-instance-identifier AcmeRDS ^
    --backup-retention-period 1 ^
    --apply-immediately
```

# Menggunakan replikasi MySQL di Amazon RDS
<a name="USER_MySQL.Replication"></a>

Anda biasanya menggunakan replika baca untuk mengonfigurasi replikasi antara instans DB Amazon RDS. Untuk informasi umum tentang replika baca, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md). Untuk informasi spesifik tentang cara menggunakan replika baca pada Amazon RDS for MySQL, lihat [Menggunakan replika baca MySQL](USER_MySQL.Replication.ReadReplicas.md). 

Anda dapat menggunakan pengidentifikasi transaksi global (GTIDs) untuk replikasi dengan RDS untuk MySQL. Untuk informasi selengkapnya, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

Anda juga dapat menyiapkan replikasi antara instans DB RDS for MySQL dan instans MariaDB atau MySQL yang berada di luar Amazon RDS. Untuk informasi tentang cara mengonfigurasi replikasi dengan sumber eksternal, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

Untuk opsi replikasi ini, Anda dapat menggunakan replikasi berbasis baris, replikasi berbasis pernyataan, atau replikasi campuran. Replikasi berbasis baris hanya mereplikasi baris yang diubah yang dihasilkan dari laporan SQL. Replikasi berbasis pernyataan mereplikasi seluruh pernyataan SQL. Replikasi campuran menggunakan replikasi berbasis pernyataan jika memungkinkan, tetapi ke replikasi berbasis baris ketika pernyataan SQL yang tidak aman untuk replikasi berbasis pernyataan dijalankan. Dalam sebagian besar kasus, replikasi campuran direkomendasikan. Format biner log dari DB instans menentukan apakah replikasi berbasis baris, berbasis pernyataan, atau campuran. Untuk informasi mengenai pengaturan format log biner, lihat [Mengkonfigurasi MySQL RDS untuk pencatatan biner MySQL untuk database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md).

**catatan**  
Anda dapat mengonfigurasi replikasi untuk mengimpor basis data dari instans MariaDB atau MySQL yang berada di luar Amazon RDS, atau untuk mengekspor basis data ke instans tersebut. Untuk informasi selengkapnya, lihat [Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi](mysql-importing-data-reduced-downtime.md) dan [Mengekspor data dari instans DB MySQL dengan menggunakan replikasi](MySQL.Procedural.Exporting.NonRDSRepl.md).

Setelah memulihkan instans DB dari snapshot atau melakukan point-in-time pemulihan, Anda dapat melihat posisi binlog yang dipulihkan terakhir dari database sumber di konsol RDS. Di bawah **Log & peristiwa**, masukkan **binlog**. Posisi binlog muncul di bawah **Catatan sistem**.

**Topics**
+ [Menggunakan replika baca MySQL](USER_MySQL.Replication.ReadReplicas.md)
+ [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md)
+ [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md)
+ [Mengkonfigurasi multi-source-replication untuk Amazon RDS for MySQL](mysql-multi-source-replication.md)

# Menggunakan replika baca MySQL
<a name="USER_MySQL.Replication.ReadReplicas"></a>

Setelah itu, Anda bisa menemukan informasi spesifik tentang menggunakan replika baca di RDS for MySQL. Untuk informasi umum tentang replika baca dan petunjuk penggunaannya, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Untuk informasi selengkapnya tentang replika baca MySQL, lihat topik berikut.
+ [Mengonfigurasi filter replikasi dengan MySQL](USER_MySQL.Replication.ReadReplicas.ReplicationFilters.md)
+ [Mengonfigurasi replikasi tertunda dengan MySQL](USER_MySQL.Replication.ReadReplicas.DelayReplication.md)
+ [Memperbarui replika baca dengan MySQL](USER_MySQL.Replication.ReadReplicas.Updates.md)
+ [Bekerja dengan deployment replika baca multi-AZ dengan MySQL](USER_MySQL.Replication.ReadReplicas.MultiAZ.md)
+ [Menggunakan replika baca cascading dengan for My RDS SQL](USER_MySQL.Replication.ReadReplicas.Cascading.md)
+ [Memantau kelambatan replikasi untuk replika SQL baca saya](USER_MySQL.Replication.ReadReplicas.Monitor.md)
+ [Memulai dan menghentikan replikasi dengan replika baca MySQL](USER_MySQL.Replication.ReadReplicas.StartStop.md)
+ [Memecahkan masalah replika SQL baca saya](USER_ReadRepl.Troubleshooting.md)

## Mengonfigurasi replika baca dengan MySQL
<a name="USER_MySQL.Replication.ReadReplicas.Configuration"></a>

Sebelum instans DB MySQL dapat berfungsi sebagai sumber replikasi, pastikan untuk mengaktifkan pencadangan otomatis pada instans DB sumber. Untuk melakukannya, atur periode retensi cadangan ke nilai selain 0. Persyaratan ini juga berlaku untuk replika baca yang merupakan instans DB sumber untuk replika baca lain. Pencadangan otomatis didukung untuk replika baca yang menjalankan versi MySQL apa pun. Anda dapat mengonfigurasi replikasi berdasarkan koordinat log biner untuk instans DB MySQL. 

Anda dapat mengonfigurasi replikasi menggunakan pengidentifikasi transaksi global (GTIDS) pada versi berikut:
+ RDS untuk MySQL versi 5.7.44 dan versi 5.7 yang lebih tinggi
+ RDS untuk MySQL versi 8.0.28 dan versi 8.0 yang lebih tinggi
+ RDS untuk MySQL versi 8.4.3 dan versi 8.4 yang lebih tinggi

Untuk informasi selengkapnya, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

Anda dapat membuat hingga 15 replika baca dari satu instans DB dalam Region yang sama. Agar replikasi beroperasi secara efektif, setiap replika baca harus memiliki jumlah sumber daya komputasi dan penyimpanan yang sama seperti instans DB sumber. Jika Anda menskalakan instans DB sumber, maka replika baca juga perlu diskalakan. 

RDS for MySQL mendukung replika baca kaskade. Untuk mempelajari cara mengonfigurasi replika baca kaskade, lihat [Menggunakan replika baca cascading dengan for My RDS SQL](USER_MySQL.Replication.ReadReplicas.Cascading.md).

Anda dapat menjalankan beberapa replika baca, membuat dan menghapus tindakan pada saat yang sama yang mereferensikan instans DB sumber yang sama. Saat Anda melakukan tindakan ini, tidak boleh ada lebih dari 15 replika baca untuk setiap instans sumber.

Replika baca dari instans DB MySQL tidak dapat menggunakan versi mesin DB yang lebih rendah dari instans DB sumbernya.

### Mempersiapkan instans MySQL DB yang menggunakan MyISAM
<a name="USER_MySQL.Replication.ReadReplicas.Configuration-MyISAM-Instances"></a>

Jika instans DB MySQL Anda menggunakan mesin nontransaksional seperti, Anda perlu melakukan langkah-langkah berikut agar berhasil menyiapkan replika baca Anda. Langkah-langkah ini diperlukan untuk memastikan replika baca memiliki salinan data yang konsisten. Langkah-langkah ini tidak diperlukan jika semua tabel Anda menggunakan mesin transaksional seperti InnoDB. 

1. Hentikan semua operasi data manipulation language (DML) dan data definition language (DDL) pada tabel non-transaksional dalam instans DB sumber dan tunggu sampai selesai. Pernyataan SELECT dapat terus berjalan. 

1. Flush kunci tabel di instans DB sumber.

1. Buat replika baca menggunakan salah satu metode di bagian berikut.

1. Periksa kemajuan pembuatan replika baca menggunakan, misalnya, operasi API `DescribeDBInstances`. Setelah replika baca tersedia, buka kunci tabel instans DB sumber dan lanjutkan operasi basis data normal. 

# Mengonfigurasi filter replikasi dengan MySQL
<a name="USER_MySQL.Replication.ReadReplicas.ReplicationFilters"></a>

Anda dapat menggunakan filter replikasi untuk menentukan basis data dan tabel mana yang direplikasi dengan replika baca. Filter replikasi dapat menyertakan basis data dan tabel dalam replikasi atau mengecualikannya dari replikasi.

Berikut ini adalah beberapa kasus penggunaan untuk filter replikasi:
+ Untuk mengurangi ukuran replika baca. Dengan filter replikasi, Anda dapat mengecualikan basis data dan tabel yang tidak diperlukan pada replika baca.
+ Untuk mengecualikan basis data dan tabel dari replika baca untuk alasan keamanan.
+ Untuk mereplikasi basis data yang berbeda dan tabel untuk kasus penggunaan tertentu di replika baca yang berbeda. Misalnya, Anda mungkin menggunakan replika baca khusus untuk analitik atau penyerpihan.
+ Untuk contoh DB yang telah membaca replika yang berbeda Wilayah AWS, untuk mereplikasi database atau tabel yang berbeda dalam bentuk yang berbeda. Wilayah AWS

**catatan**  
Anda juga dapat menggunakan filter replikasi untuk menentukan basis data dan tabel apa yang direplikasi dengan instans DB MySQL primer yang dikonfigurasi sebagai replika dalam topologi replikasi masuk. Untuk informasi selengkapnya tentang konfigurasi ini, silakan lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

**Topics**
+ [Mengatur parameter filter replikasi untuk RDS for MySQL](#USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Configuring)
+ [Batasan filter replikasi untuk RDS for MySQL](#USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Limitations)
+ [Contoh filter replikasi untuk RDS for MySQL](#USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Examples)
+ [Melihat filter replikasi untuk replika baca](#USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Viewing)

## Mengatur parameter filter replikasi untuk RDS for MySQL
<a name="USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Configuring"></a>

Untuk mengonfigurasi filter replikasi, atur parameter filter replikasi berikut pada replika baca:
+ `replicate-do-db` – Mereplikasi perubahan ke basis data yang ditentukan. Ketika Anda menetapkan parameter ini untuk replika baca, hanya basis data yang ditentukan dalam parameter yang direplikasi.
+ `replicate-ignore-db` – Jangan mereplikasi perubahan ke basis data yang ditentukan. Ketika parameter `replicate-do-db` diatur untuk replika baca, parameter ini tidak dievaluasi.
+ `replicate-do-table` – Mereplikasi perubahan ke tabel yang ditentukan. Ketika Anda menetapkan parameter ini untuk replika baca, hanya tabel yang ditentukan dalam parameter yang direplikasi. Juga, ketika parameter `replicate-do-db` atau `replicate-ignore-db` diatur, pastikan untuk menyertakan basis data yang mencakup tabel tertentu dalam replikasi dengan replika baca.
+ `replicate-ignore-table` — Jangan mereplikasi perubahan ke tabel yang ditentukan. Ketika parameter `replicate-do-table` diatur untuk replika baca, parameter ini tidak dievaluasi.
+ `replicate-wild-do-table` – Mereplikasi tabel berdasarkan basis data dan pola nama tabel yang ditentukan. Karakter wildcard `%` dan `_` didukung. Ketika parameter `replicate-do-db` atau `replicate-ignore-db` diatur, pastikan untuk menyertakan basis data yang mencakup tabel tertentu dalam replikasi dengan replika baca.
+ `replicate-wild-ignore-table` – Jangan mereplikasi tabel berdasarkan basis data dan pola nama tabel yang ditentukan. Karakter wildcard `%` dan `_` didukung. Ketika parameter `replicate-do-table` atau `replicate-wild-do-table` diatur untuk replika baca, parameter ini tidak dievaluasi.

Parameter dievaluasi dalam urutan dalam daftar. Untuk informasi selengkapnya tentang cara kerja parameter ini, lihat dokumentasi MySQL:
+ Untuk informasi umum, lihat [Opsi dan Variabel Server Replika](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html).
+ Untuk informasi tentang cara parameter pemfilteran replikasi basis data dievaluasi, lihat [Evaluation of Database-Level Replication and Binary Logging Options](https://dev.mysql.com/doc/refman/8.0/en/replication-rules-db-options.html).
+ Untuk informasi tentang cara parameter filter replikasi basis data dievaluasi, lihat [Evaluasi Opsi Replikasi Tingkat Tabel](https://dev.mysql.com/doc/refman/8.0/en/replication-rules-table-options.html).

Secara default, masing-masing parameter ini memiliki nilai kosong. Pada setiap replika baca, Anda dapat menggunakan parameter ini untuk mengatur, mengubah, dan menghapus filter replikasi. Ketika Anda menetapkan salah satu parameter ini, pisahkan masing-masing filter dari yang lain dengan koma.

Anda dapat menggunakan karakter wildcard `%` dan `_` dalam parameter `replicate-wild-do-table` dan `replicate-wild-ignore-table`. Parameter wildcard `%` mencocokkan jumlah karakter berapa pun, dan wildcard `_` hanya mencocokkan satu karakter. 

Format pencatatan log biner instans DB sumber penting untuk replikasi karena menentukan catatan perubahan data. Pengaturan parameter `binlog_format` menentukan apakah replikasi berbasis baris atau berbasis pernyataan. Untuk informasi selengkapnya, lihat [Mengkonfigurasi MySQL RDS untuk pencatatan biner MySQL untuk database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md).

**catatan**  
Semua pernyataan bahasa definisi data (DDL) direplikasi sebagai pernyataan, terlepas dari pengaturan `binlog_format` pada instans DB sumber. 

## Batasan filter replikasi untuk RDS for MySQL
<a name="USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Limitations"></a>

Batasan tersebut berlaku kepada filter replikasi untuk RDS for MySQL:
+ Setiap parameter filter replikasi memiliki batas 2.000 karakter.
+ Koma tidak didukung dalam filter replikasi untuk nilai parameter. Dalam daftar parameter, koma hanya dapat digunakan sebagai pemisah nilai. Misalnya, `ParameterValue='`a,b`'` tidak didukung, `ParameterValue='a,b'` tetapi.
+ Opsi MySQL `--binlog-do-db` dan `--binlog-ignore-db` untuk filter log biner tidak didukung.
+ Filter replikasi tidak mendukung transaksi XA.

  Untuk informasi selengkapnya, lihat [Restrictions on XA Transactions](https://dev.mysql.com/doc/refman/8.0/en/xa-restrictions.html) dalam dokumentasi MySQL.

## Contoh filter replikasi untuk RDS for MySQL
<a name="USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Examples"></a>

Untuk mengonfigurasi filter replikasi untuk replika baca, modifikasi parameter filter replikasi dalam grup parameter yang terkait dengan replika baca tersebut.

**catatan**  
Anda tidak dapat mengubah grup parameter default. Jika replika baca menggunakan grup parameter default, buat grup parameter baru dan kaitkan dengan replika baca tersebut. Untuk mengetahui informasi selengkapnya tentang grup parameter DB, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).

Anda dapat mengatur parameter dalam grup parameter menggunakan Konsol Manajemen AWS, AWS CLI, atau RDS API. Untuk mengetahui informasi tentang mengatur parameter, lihat [](USER_WorkingWithParamGroups.Modifying.md). Ketika Anda mengatur parameter dalam grup parameter, semua instans DB yang terkait dengan grup parameter tersebut menggunakan pengaturan parameter. Jika Anda mengatur parameter filter replikasi dalam grup parameter, pastikan bahwa grup parameter dikaitkan hanya dengan replika baca. Biarkan parameter filter replikasi kosong untuk instans DB sumber.

Contoh berikut mengatur parameter menggunakan AWS CLI. Contoh ini menetapkan `ApplyMethod` ke `immediate` sehingga perubahan parameter terjadi segera setelah perintah CLI selesai. Jika Anda ingin menerapkan perubahan tertunda setelah replika baca di-boot ulang, atur `ApplyMethod` ke `pending-reboot`. 

Contoh berikut mengatur filter replikasi:
+ [Including databases in replication](#rep-filter-in-dbs-mysql)
+ [Including tables in replication](#rep-filter-in-tables-mysql)
+ [Including tables in replication with wildcard characters](#rep-filter-in-tables-wildcards-mysql)
+ [Excluding databases from replication](#rep-filter-ex-dbs-mysql)
+ [Excluding tables from replication](#rep-filter-ex-tables-mysql)
+ [Excluding tables from replication using wildcard characters](#rep-filter-ex-tables-wildcards-mysql)<a name="rep-filter-in-dbs-mysql"></a>

**Example Menyertakan basis data dalam replikasi**  
Contoh berikut menyertakan basis data `mydb1` dan `mydb2` dalam replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-do-db,ParameterValue='mydb1,mydb2',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-do-db,ParameterValue='mydb1,mydb2',ApplyMethod=immediate"
```<a name="rep-filter-in-tables-mysql"></a>

**Example Menyertakan tabel dalam replikasi**  
Contoh berikut menyertakan tabel `table1` dan `table2` dalam `mydb1` basis data dalam replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-do-table,ParameterValue='mydb1.table1,mydb1.table2',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-do-table,ParameterValue='mydb1.table1,mydb1.table2',ApplyMethod=immediate"
```<a name="rep-filter-in-tables-wildcards-mysql"></a>

**Example Menyertakan tabel dalam replikasi menggunakan karakter wildcard**  
Contoh berikut menyertakan tabel dengan nama berawalan `order` dan `return` dalam basis data `mydb` dalam replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-wild-do-table,ParameterValue='mydb.order%,mydb.return%',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-wild-do-table,ParameterValue='mydb.order%,mydb.return%',ApplyMethod=immediate"
```<a name="rep-filter-ex-dbs-mysql"></a>

**Example Mengecualikan basis data dari replikasi**  
Contoh berikut mengecualikan basis data `mydb5` dan `mydb6` dari replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-ignore-db,ParameterValue='mydb5,mydb6',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-ignore-db,ParameterValue='mydb5,mydb6',ApplyMethod=immediate"
```<a name="rep-filter-ex-tables-mysql"></a>

**Example Mengecualikan tabel dari replikasi**  
Contoh berikut mengecualikan tabel `table1` dalam basis data `mydb5` dan `table2` dalam basis data `mydb6` dari replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-ignore-table,ParameterValue='mydb5.table1,mydb6.table2',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-ignore-table,ParameterValue='mydb5.table1,mydb6.table2',ApplyMethod=immediate"
```<a name="rep-filter-ex-tables-wildcards-mysql"></a>

**Example Mengecualikan tabel dari replikasi menggunakan karakter wildcard**  
Contoh berikut mengecualikan tabel dengan nama berawalan `order` dan `return` dalam basis data `mydb7` dari replikasi.  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myparametergroup \
  --parameters "ParameterName=replicate-wild-ignore-table,ParameterValue='mydb7.order%,mydb7.return%',ApplyMethod=immediate"
```
Untuk Windows:  

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myparametergroup ^
  --parameters "ParameterName=replicate-wild-ignore-table,ParameterValue='mydb7.order%,mydb7.return%',ApplyMethod=immediate"
```

## Melihat filter replikasi untuk replika baca
<a name="USER_MySQL.Replication.ReadReplicas.ReplicationFilters.Viewing"></a>

Anda dapat melihat filter replikasi untuk replika baca dengan cara berikut:
+ Memeriksa pengaturan parameter filter replikasi dalam grup parameter yang terkait dengan replika baca.

  Untuk petunjuk, lihat [Melihat nilai parameter untuk grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Viewing.md).
+ Dalam klien MySQL, hubungkan ke replika baca dan jalankan pernyataan `SHOW REPLICA STATUS`.

  Dalam output, bidang berikut menunjukkan filter replikasi untuk replika baca:
  + `Replicate_Do_DB`
  + `Replicate_Ignore_DB`
  + `Replicate_Do_Table`
  + `Replicate_Ignore_Table`
  + `Replicate_Wild_Do_Table`
  + `Replicate_Wild_Ignore_Table`

  Untuk mengetahui informasi selengkapnya tentang bidang ini, lihat [Checking Replication Status](https://dev.mysql.com/doc/refman/8.0/en/replication-administration-status.html) dalam dokumentasi MySQL.

# Mengonfigurasi replikasi tertunda dengan MySQL
<a name="USER_MySQL.Replication.ReadReplicas.DelayReplication"></a>

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\$1stop\$1replication](mysql-stored-proc-replicating.md#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 [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until).
+ Tingkatkan replika baca menjadi instans DB sumber baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).

**catatan**  
Pada RDS untuk MySQL 8.4, replikasi tertunda didukung untuk MySQL 8.4.3 dan yang lebih tinggi. Pada RDS for MySQL 8.0, replikasi tertunda didukung untuk MySQL 8.0.28 dan yang lebih tinggi. Pada RDS untuk MySQL 5.7, replikasi tertunda didukung untuk MySQL 5.7.44 dan yang lebih tinggi.
Gunakan prosedur yang tersimpan untuk mengonfigurasi replikasi tertunda. Anda tidak dapat mengonfigurasi replikasi tertunda dengan Konsol Manajemen AWS, AWS CLI API, atau Amazon RDS.
Anda dapat menggunakan replikasi berdasarkan pengidentifikasi transaksi global (GTIDs) dalam konfigurasi replikasi tertunda untuk versi berikut:  
RDS untuk MySQL versi 5.7.44 dan versi 5.7 yang lebih tinggi
RDS untuk MySQL versi 8.0.28 dan versi 8.0 yang lebih tinggi
RDS untuk MySQL versi 8.4.3 dan versi 8.4 yang lebih tinggi
Jika Anda menggunakan replikasi berbasis GTID, gunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid), bukan prosedur tersimpan [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until). Untuk informasi selengkapnya tentang replikasi, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

**Topics**
+ [Mengonfigurasi replikasi tertunda selama pembuatan replika baca](#USER_MySQL.Replication.ReadReplicas.DelayReplication.ReplicaCreation)
+ [Mengubah replikasi tertunda untuk replika baca yang sudah ada](#USER_MySQL.Replication.ReadReplicas.DelayReplication.ExistingReplica)
+ [Mengatur lokasi untuk menghentikan replikasi ke replika baca](#USER_MySQL.Replication.ReadReplicas.DelayReplication.StartUntil)
+ [Menaikkan replika baca](#USER_MySQL.Replication.ReadReplicas.DelayReplication.Promote)

## Mengonfigurasi replikasi tertunda selama pembuatan replika baca
<a name="USER_MySQL.Replication.ReadReplicas.DelayReplication.ReplicaCreation"></a>

Untuk mengonfigurasi replikasi tertunda untuk replika baca di masa mendatang yang dibuat dari instans DB, jalankan prosedur tersimpan [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) dengan parameter `target delay`.

**Untuk mengonfigurasi replikasi tertunda selama pembuatan replika baca**

1. Dengan menggunakan klien MySQL, hubungkan ke instans DB MySQL untuk menjadi sumber replika baca sebagai pengguna master.

1. Jalankan prosedur tersimpan [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#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
<a name="USER_MySQL.Replication.ReadReplicas.DelayReplication.ExistingReplica"></a>

Untuk mengubah replikasi tertunda untuk replika baca yang ada, jalankan prosedur tersimpan [mysql.rds\$1set\$1source\$1delay](mysql-stored-proc-replicating.md#mysql_rds_set_source_delay).

**Untuk mengubah replikasi tertunda untuk replika baca yang sudah ada**

1. Dengan menggunakan klien MySQL, hubungkan ke replika baca sebagai pengguna master.

1. Gunakan prosedur yang tersimpan di [mysql.rds\$1stop\$1replication](mysql-stored-proc-replicating.md#mysql_rds_stop_replication) untuk menghentikan replikasi.

1. Jalankan prosedur tersimpan [mysql.rds\$1set\$1source\$1delay](mysql-stored-proc-replicating.md#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);
   ```

1. Gunakan prosedur yang tersimpan di [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) untuk memulai replikasi.

## Mengatur lokasi untuk menghentikan replikasi ke replika baca
<a name="USER_MySQL.Replication.ReadReplicas.DelayReplication.StartUntil"></a>

Setelah menghentikan replikasi ke replika baca, Anda dapat memulai replikasi dan kemudian menghentikannya di lokasi file log biner yang ditentukan menggunakan prosedur tersimpan [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until).

**Untuk memulai replikasi ke replika baca dan menghentikan replikasi di lokasi tertentu**

1. Dengan menggunakan klien MySQL, hubungkan ke sumber instans DB MySQL sebagai pengguna master.

1. Jalankan prosedur yang tersimpan di [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until).

   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. Peristiwa RDS berikut dibuat: `Replication has been stopped since the replica reached the stop point specified by the rds_start_replication_until stored procedure`.

## Menaikkan replika baca
<a name="USER_MySQL.Replication.ReadReplicas.DelayReplication.Promote"></a>

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](USER_ReadRepl.Promote.md).

# Memperbarui replika baca dengan MySQL
<a name="USER_MySQL.Replication.ReadReplicas.Updates"></a>

Replika baca dirancang untuk mendukung kueri baca, tetapi Anda mungkin memerlukan pembaruan sesekali. Misalnya, Anda mungkin perlu menambahkan indeks untuk mengoptimalkan jenis kueri tertentu yang mengakses replika. 

Meskipun Anda dapat mengaktifkan pembaruan dengan mengatur `read_only` parameter ke `0` dalam grup parameter DB untuk replika baca, sebaiknya Anda tidak melakukannya karena dapat menyebabkan masalah jika replika baca menjadi tidak kompatibel dengan instans DB sumber. Untuk operasi pemeliharaan, kami menyarankan Anda menggunakan blue/green penerapan. Untuk informasi selengkapnya, lihat [Menggunakan Blue/Green Deployment untuk pembaruan database](blue-green-deployments.md).

Jika Anda menonaktifkan read-only pada replika baca, ubah nilai `read_only` parameter kembali `1` sesegera mungkin. 

# Bekerja dengan deployment replika baca multi-AZ dengan MySQL
<a name="USER_MySQL.Replication.ReadReplicas.MultiAZ"></a>

Anda dapat membuat replika baca dari deployment instans DB Multi-AZ atau tunggal-AZ. Anda menggunakan deployment Multi-AZ untuk meningkatkan dan ketersediaan data kritis, tetapi Anda tidak dapat menggunakan sekunder Multi-AZ untuk melayani kueri hanya baca. Sebagai gantinya, Anda dapat membuat replika baca dari instans DB Multi-AZ multi-lalu lintas tinggi untuk mengeluarkan kueri hanya baca. Jika instans sumber dari deployment Multi-AZ gagal karena replika baca sekunder, setiap replika baca terkait akan otomatis untuk menggunakan sumber sekunder (sekarang primer) sebagai sumber replikasinya. Untuk informasi selengkapnya, lihat [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md). 

Anda dapat membuat replika baca sebagai instans DB Multi-AZ. Amazon RDS membuat instans siaga replika Anda di Zona Ketersediaan lain untuk dukungan failover untuk replika tersebut. Membuat replika baca Anda sebagai instans DB Multi-AZ tidak tergantung pada apakah basis data sumber adalah instans DB Multi-AZ. 

# Menggunakan replika baca cascading dengan for My RDS SQL
<a name="USER_MySQL.Replication.ReadReplicas.Cascading"></a>

RDSuntuk SQL dukungan saya cascading read replicas. Dengan *replika baca cascading*, Anda dapat menskalakan pembacaan tanpa menambahkan overhead ke sumber RDS Anda untuk instans DB Saya. SQL

Dengan replika baca cascading, instans RDS for My SQL DB Anda mengirimkan data ke replika baca pertama dalam rantai. Replika baca itu kemudian mengirimkan data ke replika kedua dalam rantai, dan seterusnya. Hasil akhirnya adalah bahwa semua replika baca dalam rantai memiliki perubahan dari instance RDS for My SQL DB, tetapi tanpa overhead hanya pada instance DB sumber.

Anda dapat membuat serangkaian hingga tiga replika baca dalam rantai dari sumber RDS untuk instans My SQL DB. Misalnya, anggaplah Anda memiliki instance RDS for My SQL DB,`mysql-main`. Anda dapat melakukan hal berikut:
+ Dimulai dengan `mysql-main`, buat replika baca pertama dalam rantai, `read-replica-1`.
+ Selanjutnya, dari `read-replica-1`, buat replika baca berikutnya dalam rantai, `read-replica-2`.
+ Akhirnya, dari `read-replica-2`, buat replika baca ketiga dalam rantai, `read-replica-3`.

Anda tidak dapat membuat replika baca lain di luar replika baca kaskade ketiga ini dalam rangkaian untuk `mysql-main`. Serangkaian contoh lengkap dari instans RDS for My SQL source DB hingga akhir serangkaian replika baca berjenjang dapat terdiri dari paling banyak empat instance DB.

Agar replika baca cascading berfungsi, setiap sumber RDS untuk instans My SQL DB harus mengaktifkan pencadangan otomatis. Untuk mengaktifkan pencadangan otomatis pada replika baca, pertama-tama buat replika baca, lalu ubah replika baca untuk mengaktifkan pencadangan otomatis. Untuk informasi selengkapnya, lihat [Membuat replika baca](USER_ReadRepl.Create.md).

Seperti halnya replika baca lainnya, Anda dapat mempromosikan replika baca yang merupakan bagian dari kaskade. Mempromosikan replika baca dari dalam rantai replika baca menghilangkan replika tersebut dari rantai. Misalnya, misalkan Anda ingin memindahkan sebagian beban kerja dari instans `mysql-main` DB Anda ke instans baru untuk digunakan oleh departemen akuntansi saja. Dengan asumsi rantai tiga replika baca dari contoh, Anda memutuskan untuk mempromosikan `read-replica-2`. Rantai terpengaruh sebagai berikut:
+ Mempromosikan `read-replica-2` menghapusnya dari rantai replikasi.
  + Replika ini sekarang menjadi instans DB baca/tulis penuh.
  + Replika ini terus mereplikasi menjadi `read-replica-3`, seperti yang dilakukan sebelum promosi.
+ `mysql-main` Anda terus mereplikasi ke `read-replica-1`.

Untuk informasi lebih lanjut tentang mempromosikan replika baca, lihat [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).

# Memantau kelambatan replikasi untuk replika SQL baca saya
<a name="USER_MySQL.Replication.ReadReplicas.Monitor"></a>

Untuk replika SQL baca saya, Anda dapat memantau kelambatan replikasi di Amazon CloudWatch dengan melihat metrik Amazon RDS`ReplicaLag`. Metrik `ReplicaLag` melaporkan nilai kolom `Seconds_Behind_Master` dari perintah `SHOW REPLICA STATUS`. 

Penyebab umum kelambatan replikasi untuk My SQL adalah sebagai berikut: 
+ Pemadaman jaringan.
+ Menulis ke tabel yang memiliki indeks berbeda pada replika baca. Jika parameter `read_only` diatur ke `0` pada replika baca, replikasi dapat rusak jika replika baca menjadi tidak kompatibel dengan instans DB sumber. Setelah Anda melakukan tugas pemeliharaan pada replika baca, sebaiknya Anda mengatur kembali parameter `read_only` ke `1`.
+ Menggunakan mesin penyimpanan nontransaksional seperti My. ISAM Replikasi hanya didukung untuk mesin penyimpanan InnoDB di My. SQL

Saat metrik `ReplicaLag` mencapai 0, replika telah menyamai instans DB sumber. Jika metrik `ReplicaLag` mengembalikan -1, maka replikasi saat ini tidak aktif. `ReplicaLag` = -1 setara dengan `Seconds_Behind_Master` = `NULL`. 

# Memulai dan menghentikan replikasi dengan replika baca MySQL
<a name="USER_MySQL.Replication.ReadReplicas.StartStop"></a>

Anda dapat menghentikan dan memulai ulang proses replikasi di instans DB Amazon RDS dengan memanggil prosedur yang disimpan sistem [mysql.rds\$1stop\$1replication](mysql-stored-proc-replicating.md#mysql_rds_stop_replication) dan [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication). Anda dapat melakukan ini saat mereplikasi antara dua instans Amazon RDS untuk operasi jangka panjang seperti membuat indeks besar. Anda juga perlu menghentikan dan memulai replikasi saat mengimpor atau mengekspor basis data. Untuk informasi lebih lanjut, lihat [Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi](mysql-importing-data-reduced-downtime.md) dan [Mengekspor data dari instans DB MySQL dengan menggunakan replikasi](MySQL.Procedural.Exporting.NonRDSRepl.md). 

Jika replikasi dihentikan selama lebih dari 30 hari berturut-turut, baik secara manual atau karena kesalahan replikasi, Amazon RDS menghentikan replikasi antara instans DB sumber dan semua replika baca. Hal ini dilakukan untuk mencegah peningkatan persyaratan penyimpanan pada instans DB sumber dan waktu failover yang lama. Instans DB replika baca masih tersedia. Namun, replikasi tidak dapat dilanjutkan karena log biner yang diperlukan oleh replika baca dihapus dari instans DB sumber setelah replikasi dihentikan. Anda dapat membuat replika baca baru untuk instans DB sumber untuk memulihkan replikasi. 

# Memecahkan masalah replika SQL baca saya
<a name="USER_ReadRepl.Troubleshooting"></a>

Untuk instance SQL DB Saya, dalam beberapa kasus replika baca menyajikan kesalahan replikasi atau inkonsistensi data (atau keduanya) antara replika baca dan instance DB sumbernya. Masalah ini terjadi ketika beberapa peristiwa log biner (binlog) atau log redo InnoDB tidak dialirkan selama kegagalan replika baca atau instans DB sumber. Dalam kasus ini, hapus dan buat ulang replika baca secara manual. Anda dapat mengurangi kemungkinan terjadinya hal ini dengan menetapkan nilai parameter berikut: `sync_binlog=1` dan `innodb_flush_log_at_trx_commit=1`. Pengaturan ini dapat mengurangi performa, jadi uji dampaknya sebelum menerapkan perubahan di lingkungan produksi.

**Awas**  
Dalam grup parameter yang terkait dengan instans DB sumber, kami sarankan untuk menjaga nilai parameter ini: `sync_binlog=1` dan `innodb_flush_log_at_trx_commit=1`. Parameter ini dinamis. Jika Anda tidak ingin menggunakan pengaturan ini, sebaiknya setel sementara nilai-nilai tersebut sebelum menjalankan operasi apa pun pada instans DB sumber yang mungkin menyebabkannya dimulai ulang. Operasi ini termasuk, namun tidak terbatas pada, boot ulang, boot ulang dengan failover, tingkatkan versi basis data, dan mengubah kelas instans DB atau penyimpanannya. Rekomendasi yang sama berlaku untuk membuat replika baca baru untuk instans DB sumber.  
Kegagalan untuk mengikuti panduan ini meningkatkan risiko replika baca yang menghadirkan kesalahan replikasi atau inkonsistensi data (atau keduanya) antara replika baca dan instans DB sumbernya.

Teknologi replikasi untuk My SQL tidak sinkron. Karena mereka tidak sinkron, sesekali `BinLogDiskUsage` meningkatkan instans DB sumber dan `ReplicaLag` pada replika baca diharapkan. Misalnya, volume operasi tulis tinggi ke instans DB sumber dapat terjadi secara paralel. Sebaliknya, operasi ke replika baca diseret menggunakan utas I/O tunggal, yang dapat menyebabkan jeda antara instans sumber dan replika baca. Untuk informasi selengkapnya tentang replika hanya-baca dalam SQL dokumentasi Saya, lihat Detail implementasi [replikasi](https://dev.mysql.com/doc/refman/8.0/en/replication-implementation-details.html).

Anda dapat melakukan beberapa hal untuk mengurangi keterlambatan antara pembaruan ke instans DB sumber dan pembaruan berikutnya ke replika baca, seperti berikut:
+ Mengukur replika baca untuk memiliki ukuran penyimpanan dan kelas instans DB yang sebanding dengan instans DB sumber.
+ Memastikan kompatibilitas pengaturan parameter di grup parameter DB yang digunakan oleh instans DB sumber dan replika baca. Untuk mengetahui informasi selengkapnya dan instans, lihat diskusi tentang `max_allowed_packet` nanti di bagian ini.

Amazon RDS memantau status replikasi replika baca Anda dan memperbarui `Replication State` bidang instance replika baca `Error` jika replikasi berhenti karena alasan apa pun. Contohnya mungkin jika DML kueri yang dijalankan pada replika baca Anda bertentangan dengan pembaruan yang dibuat pada instans DB sumber. 

Anda dapat meninjau detail kesalahan terkait yang dilemparkan oleh SQL mesin Saya dengan melihat `Replication Error` bidang. Peristiwa yang menunjukkan status replika baca juga dihasilkan, termasuk [RDS-EVENT-0045](USER_Events.Messages.md#RDS-EVENT-0045), [RDS-EVENT-0046](USER_Events.Messages.md#RDS-EVENT-0046), dan [RDS-EVENT-0047](USER_Events.Messages.md#RDS-EVENT-0047). Untuk informasi selengkapnya tentang peristiwa dan berlangganan peristiwa, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md). Jika pesan SQL kesalahan saya dikembalikan, tinjau nomor kesalahan dalam [dokumentasi Pesan SQL galat saya](https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html).

Satu masalah umum yang dapat menyebabkan kesalahan replikasi adalah ketika nilai untuk `max_allowed_packet` parameter untuk replika baca lebih kecil dari `max_allowed_packet` untuk instans DB sumber. Parameter `max_allowed_packet` adalah parameter kustom yang dapat Anda atur di grup parameter DB. Anda gunakan `max_allowed_packet` untuk menentukan ukuran maksimum DML kode yang dapat dijalankan pada database. Dalam beberapa kasus, nilai `max_allowed_packet` dalam grup parameter DB yang dikaitkan dengan replika baca lebih kecil daripada nilai `max_allowed_packet` dalam grup parameter DB yang terkait dengan instans DB sumber. Dalam kasus ini, proses replikasi dapat melempar kesalahan `Packet bigger than 'max_allowed_packet' bytes` dan menghentikan replikasi. Untuk memperbaiki kesalahan, miliki instans DB sumber dan replika baca menggunakan grup parameter DB dengan nilai parameter `max_allowed_packet` yang sama. 

Situasi umum lainnya yang dapat menyebabkan kesalahan replikasi mencakup hal-hal berikut:
+ Tuliskan ke tabel di replika baca. Dalam beberapa kasus, Anda mungkin membuat indeks pada replika baca yang berbeda dari indeks pada instans DB sumber. Jika Anda melakukannya, atur parameter `read_only` ke `0` untuk membuat indeks. Jika Anda menulis ke tabel pada replika baca, replikasi dapat rusak jika replika baca menjadi tidak kompatibel dengan instans DB sumber. Setelah Anda melakukan tugas pemeliharaan pada replika baca, sebaiknya Anda mengatur kembali parameter `read_only` ke `1`.
+  Menggunakan mesin penyimpanan non-transaksional seperti My. ISAM Replika baca membutuhkan mesin penyimpanan transaksional. Replikasi hanya didukung untuk mesin penyimpanan InnoDB di My. SQL
+  Gunakan kueri nondeterministik yang tidak aman seperti `SYSDATE()`. Untuk informasi selengkapnya, lihat [Determination of safe and unsafe statements in binary logging](https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html). 

Jika Anda memutuskan bahwa Anda dapat melewati kesalahan dengan aman, Anda dapat mengikuti langkah-langkah yang dijelaskan di bagian [Melewatkan kesalahan replikasi saat ini untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.SkipError.md). Jika tidak, Anda dapat menghapus replika baca terlebih dahulu. Selanjutnya Anda membuat instans menggunakan pengenal instans DB yang sama sehingga titik akhir tetap sama dengan replika baca lama Anda. Jika kesalahan replikasi diperbaiki, `Replication State` berubah menjadi *mereplikasi*.

# Menggunakan replikasi GTID berbasis
<a name="mysql-replication-gtid"></a>

Konten berikut menjelaskan cara menggunakan pengidentifikasi transaksi global (GTIDs) dengan replikasi log biner (binlog) di antara Amazon RDS untuk instans My SQL DB. 

Jika Anda menggunakan replikasi binlog dan tidak terbiasa dengan replikasi GTID berbasis dengan MySQL, lihat [Replikasi dengan pengidentifikasi transaksi global](https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html) di dokumentasi Saya. SQL

GTIDreplikasi berbasis didukung untuk versi berikut:
+ Semua RDS untuk versi SQL 8.4 Saya
+ Semua RDS untuk versi My SQL 8.0
+ Semua RDS untuk versi SQL 5.7 Saya

Semua instans SQL DB Saya dalam konfigurasi replikasi harus memenuhi persyaratan versi ini.

**Topics**
+ [Ikhtisar pengidentifikasi transaksi global () GTIDs](#mysql-replication-gtid.overview)
+ [Parameter untuk replikasi GTID berbasis](#mysql-replication-gtid.parameters)
+ [Mengaktifkan replikasi berbasis GTID untuk replika baca baru untuk RDS untuk MySQL](mysql-replication-gtid.configuring-new-read-replicas.md)
+ [Mengaktifkan replikasi berbasis GTID untuk replika baca yang ada untuk RDS untuk MySQL](mysql-replication-gtid.configuring-existing-read-replicas.md)
+ [Menonaktifkan replikasi berbasis GTID untuk instans DB MySQL dengan replika baca](mysql-replication-gtid.disabling.md)

## Ikhtisar pengidentifikasi transaksi global () GTIDs
<a name="mysql-replication-gtid.overview"></a>

*Pengidentifikasi transaksi global (GTIDs)* adalah pengidentifikasi unik yang dihasilkan untuk transaksi Saya SQL yang berkomitmen. Anda dapat menggunakan GTIDs untuk membuat replikasi binlog lebih sederhana dan lebih mudah untuk memecahkan masalah.

Saya SQL menggunakan dua jenis transaksi yang berbeda untuk replikasi binlog:
+ *GTIDTransaksi* — Transaksi yang diidentifikasi oleh aGTID.
+ *Transaksi anonim* — Transaksi yang tidak GTID ditetapkan.

Dalam konfigurasi replikasi, GTIDs unik di semua instans DB. GTIDsmenyederhanakan konfigurasi replikasi karena ketika Anda menggunakannya, Anda tidak perlu merujuk ke posisi file log. GTIDsjuga memudahkan untuk melacak transaksi yang direplikasi dan menentukan apakah instance sumber dan replika konsisten.

Anda dapat menggunakan replikasi GTID berbasis untuk mereplikasi data dengan RDS replika SQL baca saya. Anda dapat mengonfigurasi replikasi GTID berbasis saat membuat replika baca baru, atau Anda dapat mengonversi replika baca yang ada untuk menggunakan GTID replikasi berbasis.

Anda juga dapat menggunakan replikasi GTID berbasis dalam konfigurasi replikasi tertunda dengan RDS for My. SQL Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi tertunda dengan MySQL](USER_MySQL.Replication.ReadReplicas.DelayReplication.md).

## Parameter untuk replikasi GTID berbasis
<a name="mysql-replication-gtid.parameters"></a>

Gunakan parameter berikut untuk mengkonfigurasi replikasi GTID berbasis.


| Parameter | Nilai valid | Deskripsi | 
| --- | --- | --- | 
|  `gtid_mode`  |  `OFF`, `OFF_PERMISSIVE`, `ON_PERMISSIVE`, `ON`  |  `OFF` menetapkan bahwa transaksi baru adalah transaksi anonim (yaitu, tidak memiliki GTIDs), dan transaksi harus anonim agar dapat direplikasi.  `OFF_PERMISSIVE` menentukan bahwa transaksi baru adalah transaksi anonim, tetapi semua transaksi dapat direplikasi.  `ON_PERMISSIVE`menetapkan bahwa transaksi baru adalah GTID transaksi, tetapi semua transaksi dapat direplikasi.  `ON`menetapkan bahwa transaksi baru adalah GTID transaksi, dan transaksi harus berupa GTID transaksi yang akan direplikasi.   | 
|  `enforce_gtid_consistency`  |  `OFF`, `ON`, `WARN`  |  `OFF`memungkinkan transaksi melanggar GTID konsistensi.  `ON`mencegah transaksi melanggar GTID konsistensi.  `WARN`memungkinkan transaksi melanggar GTID konsistensi tetapi menghasilkan peringatan ketika pelanggaran terjadi.   | 

**catatan**  
Dalam Konsol Manajemen AWS, `gtid_mode` parameter muncul sebagai`gtid-mode`.

Untuk replikasi GTID berbasis, gunakan pengaturan ini untuk grup parameter untuk instans DB Anda atau baca replika:
+ `ON`dan hanya `ON_PERMISSIVE` berlaku untuk replikasi keluar dari instance RDS DB. Kedua nilai ini menyebabkan instans RDS DB Anda digunakan GTIDs untuk transaksi yang direplikasi. `ON`mengharuskan database target juga menggunakan replikasi GTID berbasis. `ON_PERMISSIVE`membuat replikasi GTID berbasis opsional pada database target. 
+ `OFF_PERMISSIVE`, jika disetel, berarti instans RDS DB Anda dapat menerima replikasi masuk dari database sumber. Mereka dapat melakukan ini terlepas dari apakah database sumber menggunakan replikasi GTID berbasis.
+ `OFF`, jika disetel, berarti instans RDS DB Anda hanya menerima replikasi masuk dari database sumber yang tidak menggunakan replikasi berbasis. GTID 

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

# Mengaktifkan replikasi berbasis GTID untuk replika baca baru untuk RDS untuk MySQL
<a name="mysql-replication-gtid.configuring-new-read-replicas"></a>

Jika replikasi berbasis GTID diaktifkan untuk instans DB RDS for MySQL, replikasi berbasis GTID dikonfigurasi secara otomatis untuk replika baca dari instans DB.

**Untuk mengaktifkan replikasi berbasis GTID untuk replika baca baru**

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

   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. Untuk informasi selengkapnya tentang cara melakukannya, lihat [Mem-boot ulang instans DB DB](USER_RebootInstance.md).

1.  Ciptakan satu replika baca atau lebih dari instans DB. Untuk informasi selengkapnya tentang cara melakukannya, lihat [Membuat replika baca](USER_ReadRepl.Create.md). 

Amazon RDS mencoba membuat replikasi berbasis GTID antara instans DB MySQL dan replika baca menggunakan `MASTER_AUTO_POSITION`. Jika upaya tersebut gagal, Amazon RDS menggunakan posisi file log untuk replikasi dengan replika baca. Untuk informasi selengkapnya tentang `MASTER_AUTO_POSITION`, lihat [GTID auto-positioning](https://dev.mysql.com/doc/refman/5.7/en/replication-gtids-auto-positioning.html) dalam dokumentasi MySQL.

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

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

**Untuk mengaktifkan replikasi berbasis GTID untuk replika baca yang sudah 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 berbasis GTID.

   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 transaksi yang tidak kompatibel dengan GTID, sesuaikan agar aplikasi Anda hanya menggunakan fitur yang kompatibel dengan GTID. Pastikan instans DB tidak menghasilkan peringatan apa pun tentang transaksi yang tidak kompatibel dengan GTID sebelum melanjutkan ke langkah berikutnya.

1. Atur ulang parameter GTID untuk replikasi berbasis GTID yang memperbolehkan transaksi anonim hingga replika baca telah 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. Atur ulang parameter GTID untuk replikasi berbasis GTID saja.

   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);
   ```

# Menonaktifkan replikasi berbasis GTID untuk instans DB MySQL dengan replika baca
<a name="mysql-replication-gtid.disabling"></a>

Anda dapat menonaktifkan replikasi berbasis GTID untuk instans DB MySQL dengan replika baca. 

**Menonaktifkan replikasi berbasis GTID untuk instans DB MySQL dengan 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(0);
   ```

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

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

1. Atur ulang `gtid_mode` ke `ON_PERMISSIVE`.

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

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

   1. Boot ulang instans DB MySQL dan setiap replika baca. Untuk informasi selengkapnya tentang mem-boot ulang, lihat [Mem-boot ulang instans DB DB](USER_RebootInstance.md).

1. Atur ulang `gtid_mode` ke `OFF_PERMISSIVE`.

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

   1. Boot ulang instans DB MySQL dan setiap replika baca.

1. Tunggu hingga semua transaksi GTID diterapkan pada semua replika baca. Untuk memeriksa apakah ini diterapkan, lakukan langkah-langkah berikut:

   1. Pada instance MySQL DB, jalankan perintah berikut:

      **MySQL 8.4**

      ```
      SHOW BINARY LOG STATUS
      ```

      **MySQL 5.7 dan 8.0**

      ```
      SHOW MASTER STATUS
      ```

      Output Anda harus mirip dengan output berikut.

      ```
      File                        Position
      ------------------------------------
      mysql-bin-changelog.000031      107
      ------------------------------------
      ```

      Perhatikan file dan posisi dalam output Anda.

   1. Pada setiap replika baca, gunakan file dan informasi posisi dari contoh sumbernya pada langkah sebelumnya untuk menjalankan kueri berikut:

      **MySQL 8.4 dan MySQL 8.0.26 dan versi MySQL 8.0 yang lebih tinggi**

      ```
      SELECT SOURCE_POS_WAIT('file', position);
      ```

      **MySQL 5.7**

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

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

      **MySQL 8.4 dan MySQL 8.0.26 dan versi MySQL 8.0 yang lebih tinggi**

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

      **MySQL 5.7**

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

1. Setel ulang parameter GTID untuk menonaktifkan replikasi berbasis GTID.

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

   1. Boot ulang instans DB MySQL dan setiap replika baca.

# Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal
<a name="MySQL.Procedural.Importing.External.Repl"></a>

Anda dapat menyiapkan replikasi antara instans DB RDS for MySQL atau MariaDB dan instans MySQL atau MariaDB yang berada di luar Amazon RDS menggunakan replikasi file log biner.

**Topics**
+ [Sebelum Anda mulai](#MySQL.Procedural.Importing.External.Repl.BeforeYouBegin)
+ [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](#MySQL.Procedural.Importing.External.Repl.Procedure)

## Sebelum Anda mulai
<a name="MySQL.Procedural.Importing.External.Repl.BeforeYouBegin"></a>

Anda dapat mengonfigurasi replikasi menggunakan posisi file log biner transaksi yang direplikasi.

Izin yang diperlukan untuk memulai replikasi pada instans DB Amazon RDS dibatasi dan tidak tersedia untuk pengguna master Amazon RDS Anda. Karena itu, pastikan Anda menggunakan Amazon RDS [](mysql-stored-proc-replicating.md#mysql_rds_set_external_master) atau[](mysql-stored-proc-replicating.md#mysql_rds_set_external_source), dan [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) perintah untuk mengatur replikasi antara database langsung dan database Amazon RDS Anda.

Untuk mengatur format pencatatan log biner untuk basis data MySQL atau MariaDB, perbarui parameter `binlog_format`. Jika instans DB Anda menggunakan grup parameter instans DB default, buat grup parameter DB baru untuk memodifikasi `binlog_format` parameter. Di MariaDB dan MySQL 8.0 dan versi yang lebih rendah, defaultnya. `binlog_format` `MIXED` Namun, Anda juga dapat mengatur `binlog_format` ke `ROW` atau `STATEMENT` jika Anda memerlukan format log biner (binlog) tertentu. Boot ulang instans DB Anda agar perubahan diterapkan. Di MySQL 8.4 dan versi yang lebih tinggi, defaultnya. `binlog_format` `ROW`

Untuk informasi tentang mengatur parameter `binlog_format`, lihat [Mengkonfigurasi MySQL RDS untuk pencatatan biner MySQL untuk database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md). Untuk informasi tentang implikasi tipe replikasi MySQL yang berbeda-beda, lihat [Advantages and disadvantages of statement-based and row-based replication](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html) dalam dokumentasi MySQL.

## Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal
<a name="MySQL.Procedural.Importing.External.Repl.Procedure"></a>

Ikuti pedoman ini saat Anda menyiapkan instans sumber eksternal dan replika di Amazon RDS: 
+ Pantau peristiwa failover untuk instans DB Amazon RDS yang merupakan replika Anda. Jika terjadi failover, maka instans DB yang merupakan replika Anda dapat dibuat ulang pada host baru dengan alamat jaringan yang berbeda. Untuk informasi tentang cara pemonitoran peristiwa failover, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).
+ Pertahankan binlog pada instans sumber Anda hingga Anda memverifikasi bahwa binlog tersebut telah diterapkan ke replika. Dengan mempertahankannya, Anda dapat memulihkan instans sumber Anda jika terjadi kegagalan.
+ Aktifkan pencadangan otomatis pada instans DB Amazon RDS Anda. Dengan mengaktifkan pencadangan otomatis, Anda dapat memulihkan replika ke titik waktu tertentu jika Anda perlu menyinkronkan ulang instans sumber dan replika Anda. Untuk informasi tentang pencadangan dan point-in-time pemulihan, lihat. [Mencadangkan, memulihkan, dan mengekspor data](CHAP_CommonTasks.BackupRestore.md)

**Mengonfigurasi replikasi file log biner dengan Instans sumber eksternal**

1. Jadikan instans MySQL atau MariaDB sumber sebagai hanya-baca.

   ```
   mysql> FLUSH TABLES WITH READ LOCK;
   mysql> SET GLOBAL read_only = ON;
   ```

1. Jalankan perintah `SHOW MASTER STATUS` pada instans MySQL atau MariaDB sumber untuk menentukan lokasi binlog.

   Anda menerima output yang mirip dengan contoh berikut.

   ```
   File                        Position  
   ------------------------------------
    mysql-bin-changelog.000031      107   
   ------------------------------------
   ```

1. Salin basis data dari instans eksternal ke instans DB Amazon RDS menggunakan `mysqldump`. Untuk basis data yang sangat besar, Anda mungkin ingin menggunakan prosedur di [Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi](mysql-importing-data-reduced-downtime.md). 

   Untuk Linux, macOS, atau Unix:

   ```
   mysqldump --databases database_name \
       --single-transaction \
       --compress \
       --order-by-primary \
       -u local_user \
       -plocal_password | mysql \
           --host=hostname \
           --port=3306 \
           -u RDS_user_name \
           -pRDS_password
   ```

   Untuk Windows:

   ```
   mysqldump --databases database_name ^
       --single-transaction ^
       --compress ^
       --order-by-primary ^
       -u local_user ^
       -plocal_password | mysql ^
           --host=hostname ^
           --port=3306 ^
           -u RDS_user_name ^
           -pRDS_password
   ```
**catatan**  
Pastikan tidak ada spasi di antara opsi `-p` dan sandi yang dimasukkan. 

   Untuk menentukan nama host, nama pengguna, port, dan kata sandi untuk menghubungkan ke instans DB Amazon RDS Anda, gunakan opsi `--host`, `--user (-u)`, `--port`, dan `-p` dalam perintah `mysql`. Nama host adalah nama Domain Name Service (DNS) dari titik akhir instans DB Amazon RDS, misalnya `myinstance.123456789012.us-east-1.rds.amazonaws.com`. Anda dapat menemukan nilai titik akhir dalam detail instans di Konsol Manajemen AWS.

1. Jadikan instans DB MySQL atau MariaDB sumber sebagai writeable (dapat diubah) lagi.

   ```
   mysql> SET GLOBAL read_only = OFF;
   mysql> UNLOCK TABLES;
   ```

   Untuk informasi lebih lanjut tentang cara membuat cadangan untuk digunakan dengan replikasi, lihat [dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.0/en/replication-solutions-backups-read-only.html).

1. Di dalam Konsol Manajemen AWS, tambahkan alamat IP server yang menghosting database eksternal ke grup keamanan virtual private cloud (VPC) untuk instans Amazon RDS DB. Untuk informasi selengkapnya tentang cara memodifikasi grup keamanan VPC, lihat [Grup keamanan untuk VPC Anda](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) dalam *Panduan Pengguna Amazon Virtual Private Cloud*. 

   Alamat IP dapat berubah jika kondisi berikut terpenuhi:
   + Anda menggunakan alamat IP publik untuk komunikasi antara instans sumber eksternal dan instans DB.
   + Instans sumber eksternal dihentikan dan dimulai ulang.

   Jika semua kondisi ini terpenuhi, verifikasikan alamat IP sebelum menambahkannya.

   Anda mungkin juga perlu mengonfigurasi jaringan lokal Anda untuk mengizinkan koneksi dari alamat IP instans DB Amazon RDS Anda. Anda melakukan ini agar jaringan lokal Anda dapat berkomunikasi dengan instans MySQL atau MariaDB eksternal Anda. Untuk menemukan alamat IP dari instans DB Amazon RDS, gunakan perintah `host`.

   ```
   host db_instance_endpoint
   ```

   Nama host adalah nama DNS dari titik akhir instans DB Amazon RDS.

1. Menggunakan klien pilihan Anda, hubungkan ke instans eksternal dan buat pengguna untuk digunakan untuk replikasi. Gunakan akun ini semata-mata untuk replikasi dan batasi hanya untuk domain Anda guna meningkatkan keamanan. Berikut adalah contohnya. 

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```
**catatan**  
Tentukan kata sandi selain prompt yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Untuk instans eksternal, berikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Misalnya, untuk memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna '`repl_user`' bagi domain Anda, jalankan perintah berikut.

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

1. Jadikan instans DB Amazon RDS sebagai replika. Untuk melakukannya, pertama-tama hubungkan ke instans DB Amazon RDS sebagai pengguna master. Kemudian mengidentifikasi database MySQL atau MariaDB eksternal sebagai contoh sumber dengan menggunakan perintah or. [](mysql-stored-proc-replicating.md#mysql_rds_set_external_source) [](mysql-stored-proc-replicating.md#mysql_rds_set_external_master) Gunakan nama file log master dan posisi log master yang Anda tentukan pada langkah 2. Perintah berikut adalah contohnya.

   **MySQL 8.4**

   ```
   CALL mysql.rds_set_external_source ('mysourceserver.mydomain.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```

   **MariaDB dan MySQL 8.0 dan 5.7**

   ```
   CALL mysql.rds_set_external_master ('mymasterserver.mydomain.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
   ```
**catatan**  
Pada RDS untuk MySQL, Anda dapat memilih untuk menggunakan replikasi tertunda dengan menjalankan [mysql.rds\$1set\$1external\$1source\$1with\$1delay (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](mysql-stored-proc-replicating.md#mysql_rds_set_external_source_with_delay) prosedur atau disimpan sebagai gantinya. [mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master_with_delay) Di RDS for MySQL, salah satu alasan menggunakan replikasi tertunda adalah untuk mengaktifkan pemulihan bencana dengan prosedur tersimpan [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until). Saat ini, RDS untuk MariaDB mendukung replikasi tertunda tetapi tidak mendukung prosedur `mysql.rds_start_replication_until`.

1. Di instans DB Amazon RDS, terbitkan perintah [mysql.rds\$1start\$1replication](mysql-stored-proc-replicating.md#mysql_rds_start_replication) untuk memulai replikasi.

   ```
   CALL mysql.rds_start_replication;
   ```

# Mengkonfigurasi multi-source-replication untuk Amazon RDS for MySQL
<a name="mysql-multi-source-replication"></a>

Dengan replikasi multi-sumber, Anda dapat menyiapkan instans Amazon RDS for MySQL DB sebagai replika yang menerima peristiwa log biner dari lebih dari satu RDS untuk instans DB sumber MySQL. Replikasi multi-sumber didukung untuk RDS untuk instance MySQL DB yang menjalankan versi mesin berikut:
+ Semua MySQL 8.4 versi
+ 8.0.35 dan versi minor yang lebih tinggi
+ 5.7.44 dan versi minor yang lebih tinggi

Untuk informasi tentang replikasi multi-sumber MySQL, lihat Replikasi Multi-Sumber MySQL dalam [dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.0/en/replication-multi-source.html). Dokumentasi MySQL berisi informasi rinci tentang fitur ini, sementara topik ini menjelaskan cara mengkonfigurasi dan mengelola saluran replikasi multi-sumber pada RDS Anda untuk instance MySQL DB.

## Kasus penggunaan untuk replikasi multi-sumber
<a name="mysql-multi-source-replication-benefits"></a>

Kasus-kasus berikut adalah kandidat yang baik untuk menggunakan replikasi multi-sumber pada RDS untuk MySQL:
+ Aplikasi yang perlu menggabungkan atau menggabungkan beberapa pecahan pada instance DB terpisah menjadi satu pecahan.
+ Aplikasi yang perlu menghasilkan laporan dari data yang dikonsolidasikan dari berbagai sumber.
+ Persyaratan untuk membuat cadangan data jangka panjang terkonsolidasi yang didistribusikan di antara beberapa RDS untuk instance MySQL DB.

## Prasyarat untuk replikasi multi-sumber
<a name="mysql-multi-source-replication-prerequisites"></a>

Sebelum Anda mengonfigurasi replikasi multi-sumber, selesaikan prasyarat berikut.
+ Pastikan bahwa setiap sumber RDS untuk MySQL DB instance memiliki backup otomatis diaktifkan. Mengaktifkan pencadangan otomatis memungkinkan pencatatan biner. Untuk mempelajari cara mengaktifkan pencadangan otomatis, lihat. [Mengaktifkan pencadangan otomatis](USER_WorkingWithAutomatedBackups.Enabling.md)
+ Untuk menghindari kesalahan replikasi, sebaiknya Anda memblokir operasi penulisan ke instans DB sumber. Anda dapat melakukannya dengan mengatur `read-only` parameter ke `ON` dalam grup parameter kustom yang dilampirkan ke RDS untuk instance DB sumber MySQL. Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk membuat grup parameter kustom baru atau untuk memodifikasi yang sudah ada. Untuk informasi selengkapnya, lihat [Membuat grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Creating.md) dan [](USER_WorkingWithParamGroups.Modifying.md).
+ Untuk setiap instans DB sumber, tambahkan alamat IP instans ke grup keamanan Amazon virtual private cloud (VPC) untuk instans DB multi-sumber. Untuk mengidentifikasi alamat IP dari instans DB sumber, Anda dapat menjalankan perintah`dig RDS Endpoint`. Jalankan perintah dari instans Amazon EC2 di VPC yang sama dengan instans DB multi-sumber tujuan. 
+ Untuk setiap instans DB sumber, gunakan klien untuk terhubung ke instans DB dan buat pengguna database dengan hak istimewa yang diperlukan untuk replikasi, seperti pada contoh berikut.

  ```
  CREATE USER 'repl_user' IDENTIFIED BY 'password';
  GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user';
  ```
**catatan**  
Dimulai dengan MySQL 8.4, hak istimewa telah `REPLICATION SLAVE` ditinggalkan dan diganti dengan. `REPLICATION REPLICA` Untuk MySQL 8.4 dan versi yang lebih baru, gunakan sintaks berikut sebagai gantinya:  

  ```
  CREATE USER 'repl_user' IDENTIFIED BY 'password';
  GRANT REPLICATION CLIENT, REPLICATION REPLICA ON *.* TO 'repl_user';
  ```

## Mengkonfigurasi saluran replikasi multi-sumber pada RDS untuk instans MySQL DB
<a name="mysql-multi-source-replication-configuring-channels"></a>

Mengkonfigurasi saluran replikasi multi-sumber mirip dengan mengkonfigurasi replikasi sumber tunggal. Untuk replikasi multi-sumber, pertama-tama Anda mengaktifkan logging biner pada instance sumber. Kemudian, Anda mengimpor data dari sumber ke replika multi-sumber. Kemudian, Anda memulai replikasi dari setiap sumber dengan menggunakan koordinat log biner atau dengan menggunakan pemosisian otomatis GTID.

Untuk mengonfigurasi RDS untuk instance MySQL DB sebagai replika multi-sumber dari dua atau lebih RDS untuk instance MySQL DB, lakukan langkah-langkah berikut.

**Topics**
+ [Langkah 1: Impor data dari instans DB sumber ke replika multi-sumber](#mysql-multi-source-replication-import)
+ [Langkah 2: Mulai replikasi dari instans DB sumber ke replika multi-sumber](#mysql-multi-source-replication-setting-up-start-replication-other)

### Langkah 1: Impor data dari instans DB sumber ke replika multi-sumber
<a name="mysql-multi-source-replication-import"></a>

Lakukan langkah-langkah berikut pada setiap instans DB sumber.

Sebelum Anda mengimpor data dari sumber ke replika multi-sumber, tentukan file log biner saat ini dan posisikan dengan menjalankan perintah. `SHOW MASTER STATUS` Catat detail ini untuk digunakan pada langkah berikutnya. Dalam contoh output ini, file adalah `mysql-bin-changelog.000031` dan posisinya adalah`107`.

**catatan**  
Dimulai dengan MySQL 8.4, perintah telah `SHOW MASTER STATUS` usang dan diganti dengan. `SHOW BINARY LOG STATUS` Untuk MySQL 8.4 dan versi yang lebih baru, gunakan sebagai gantinya. `SHOW BINARY LOG STATUS`

```
File                        Position   
-----------------------------------
mysql-bin-changelog.000031      107   
-----------------------------------
```

Sekarang salin database dari instance DB sumber ke replika multi-sumber dengan menggunakan`mysqldump`, seperti pada contoh berikut.

```
mysqldump --databases database_name \
 --single-transaction \
 --compress \
 --order-by-primary \
 -u RDS_user_name \
 -p RDS_password \
 --host=RDS Endpoint | mysql \
 --host=RDS Endpoint \
 --port=3306 \
 -u RDS_user_name \
-p RDS_password
```

Setelah menyalin database, Anda dapat mengatur parameter read-only ke instans `OFF` DB sumber.

### Langkah 2: Mulai replikasi dari instans DB sumber ke replika multi-sumber
<a name="mysql-multi-source-replication-setting-up-start-replication-other"></a>

Untuk setiap instans DB sumber, gunakan kredensi pengguna administratif untuk terhubung ke instance, dan jalankan dua prosedur tersimpan berikut. Prosedur tersimpan ini mengonfigurasi replikasi pada saluran dan memulai replikasi. Contoh ini menggunakan nama file binlog dan posisi dari output contoh pada langkah sebelumnya.

```
CALL mysql.rds_set_external_source_for_channel('mysourcehost.example.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1, 'channel_1');
CALL mysql.rds_start_replication_for_channel('channel_1');
```

Untuk informasi selengkapnya tentang menggunakan prosedur tersimpan ini dan lainnya untuk menyiapkan dan mengelola saluran replikasi Anda, lihat[Mengelola replikasi multi-sumber](mysql-stored-proc-multi-source-replication.md).

## Menggunakan filter dengan replikasi multi-sumber
<a name="mysql-multi-source-replication-filters"></a>

Anda dapat menggunakan filter replikasi untuk menentukan database dan tabel mana yang direplikasi dalam replika multi-sumber. Filter replikasi dapat menyertakan basis data dan tabel dalam replikasi atau mengecualikannya dari replikasi. Untuk informasi selengkapnya tentang filter replikasi, lihat[Mengonfigurasi filter replikasi dengan MySQL](USER_MySQL.Replication.ReadReplicas.ReplicationFilters.md).

Dengan replikasi multi-sumber, Anda dapat mengonfigurasi filter replikasi secara global atau di tingkat saluran. Pemfilteran tingkat saluran hanya tersedia dengan instans DB yang didukung yang menjalankan versi 8.0 atau versi 8.4. Contoh berikut menunjukkan cara mengonfigurasi filter secara global atau di tingkat saluran.

Perhatikan persyaratan dan perilaku berikut dengan pemfilteran dalam replikasi multi-sumber:
+ Kutipan belakang (``) di sekitar nama saluran diperlukan.
+ Jika Anda mengubah filter replikasi dalam grup parameter, replika multi-sumber `sql_thread` untuk semua saluran dengan pembaruan akan dimulai ulang untuk menerapkan perubahan secara dinamis. Jika pembaruan melibatkan filter global, maka semua saluran replikasi dalam status berjalan dimulai ulang.
+ Semua filter global diterapkan sebelum filter khusus saluran apa pun.
+ Jika filter diterapkan secara global dan pada tingkat saluran, maka hanya filter tingkat saluran yang diterapkan. Misalnya, jika filternya`replicate_ignore_db="db1,`channel_22`:db2"`, maka `replicate_ignore_db` disetel ke `db1` diterapkan ke semua saluran kecuali untuk`channel_22`, dan hanya `channel_22` mengabaikan perubahan dari`db2`.

Contoh 1: Mengatur filter global

Dalam contoh berikut, `temp_data` database dikecualikan dari replikasi di setiap saluran.

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
--db-parameter-group-name myparametergroup \
--parameters "ParameterName=replicate-ignore-db,ParameterValue='temp_data',ApplyMethod=immediate"
```

Contoh 2: Mengatur filter tingkat saluran

Dalam contoh berikut, perubahan dari `sample22` database hanya disertakan dalam saluran`channel_22`. Demikian pula, perubahan dari `sample99` database hanya disertakan dalam saluran`channel_99`.

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
--db-parameter-group-name myparametergroup \
--parameters "ParameterName=replicate-do-db,ParameterValue='\`channel_22\`:sample22,\`channel_99\`:sample99',ApplyMethod=immediate"
```

## Memantau saluran replikasi multi-sumber
<a name="mysql-multi-source-replication-monitoring"></a>

Anda dapat memantau saluran individual dalam replika multi-sumber dengan menggunakan metode berikut:
+ Untuk memantau status semua saluran atau saluran tertentu, sambungkan ke replika multi-sumber dan jalankan perintah `SHOW REPLICA STATUS` atau`SHOW REPLICA STATUS FOR CHANNEL 'channel_name'`. Untuk informasi selengkapnya, lihat [Memeriksa Status Replikasi](https://dev.mysql.com/doc/refman/8.0/en/replication-administration-status.html) dalam dokumentasi MySQL.
+ Untuk menerima pemberitahuan saat saluran replikasi dimulai, dihentikan, atau dihapus, gunakan pemberitahuan acara RDS. Untuk informasi selengkapnya, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).
+ Untuk memantau lag untuk saluran tertentu, periksa `ReplicationChannelLag` metrik untuk itu. Titik data untuk metrik ini memiliki jangka waktu 60 detik (1 menit) yang tersedia selama 15 hari. Untuk menemukan lag saluran replikasi untuk saluran, gunakan pengenal instance dan nama saluran replikasi. Untuk menerima pemberitahuan ketika lag ini melebihi ambang batas tertentu, Anda dapat mengatur CloudWatch alarm. Untuk informasi selengkapnya, lihat [Memantau metrik Amazon RDS Aurora dengan Amazon CloudWatch](monitoring-cloudwatch.md).

## Pertimbangan dan praktik terbaik untuk replikasi multi-sumber
<a name="mysql-multi-source-replication-considerations"></a>

Sebelum Anda menggunakan replikasi multi-sumber pada RDS untuk MySQL, tinjau pertimbangan dan praktik terbaik berikut:
+ Pastikan bahwa instans DB yang dikonfigurasi sebagai replika multi-sumber memiliki sumber daya yang cukup seperti throughput, memori, CPU, dan IOPS untuk menangani beban kerja dari beberapa instance sumber.
+ Pantau pemanfaatan sumber daya secara teratur pada replika multi-sumber Anda dan sesuaikan konfigurasi penyimpanan atau instans untuk menangani beban kerja tanpa membebani sumber daya.
+ Anda dapat mengonfigurasi replikasi multi-utas pada replika multi-sumber dengan mengatur variabel `replica_parallel_workers` sistem ke nilai yang lebih besar dari. `0` Dalam hal ini, jumlah utas yang dialokasikan untuk setiap saluran adalah nilai variabel ini, ditambah satu utas koordinator untuk mengelola utas applier.
+ Konfigurasikan filter replikasi dengan tepat untuk menghindari konflik. Untuk mereplikasi seluruh database ke database lain pada replika, Anda dapat menggunakan opsi. `--replicate-rewrite-db` Misalnya, Anda dapat mereplikasi semua tabel dalam database A ke database B pada contoh replika. Pendekatan ini dapat membantu ketika semua instance sumber menggunakan konvensi penamaan skema yang sama. Untuk informasi tentang `--replicate-rewrite-db` opsi, lihat [Opsi Server Replika dan Variabel](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html) dalam dokumentasi MySQL.
+ Untuk menghindari kesalahan replikasi, hindari menulis ke replika. Kami menyarankan Anda mengaktifkan `read_only` parameter pada replika multi-sumber untuk memblokir operasi penulisan. Melakukannya membantu menghilangkan masalah replikasi yang disebabkan oleh operasi penulisan yang bertentangan.
+ Untuk meningkatkan kinerja operasi baca seperti jenis dan gabungan beban tinggi yang dijalankan pada replika multi-sumber, pertimbangkan untuk menggunakan RDS Optimized Reads. Fitur ini dapat membantu dengan kueri yang bergantung pada tabel sementara besar atau mengurutkan file. Untuk informasi selengkapnya, lihat [Meningkatkan kinerja kueri RDS untuk My SQL dengan Amazon RDS Optimized Reads](rds-optimized-reads.md).
+ Untuk meminimalkan kelambatan replikasi dan meningkatkan kinerja replika multi-sumber, pertimbangkan untuk mengaktifkan penulisan yang dioptimalkan. Untuk informasi selengkapnya, lihat [Meningkatkan performa penulisan dengan RDS Optimized Writes for MySQL](rds-optimized-writes.md).
+ Lakukan operasi manajemen (seperti mengubah konfigurasi) pada satu saluran pada satu waktu, dan hindari melakukan perubahan pada beberapa saluran dari beberapa koneksi. Praktik-praktik ini dapat menyebabkan konflik dalam operasi replikasi. Misalnya, mengeksekusi `rds_skip_repl_error_for_channel` dan `rds_start_replication_for_channel` prosedur secara bersamaan dari beberapa koneksi dapat menyebabkan melewatkan peristiwa pada saluran yang berbeda dari yang dimaksudkan.
+ Anda dapat mengaktifkan pencadangan pada instans replikasi multi-sumber dan mengekspor data dari instans tersebut ke bucket Amazon S3 untuk menyimpannya untuk tujuan jangka panjang. Namun, penting juga untuk mengonfigurasi cadangan dengan retensi yang sesuai pada instance sumber individual. Untuk informasi tentang mengekspor data snapshot ke Amazon S3, lihat. [Mengekspor data snapshot DB ke Amazon S3 untuk Amazon RDS](USER_ExportSnapshot.md)
+ Untuk mendistribusikan beban kerja baca pada replika multi-sumber, Anda dapat membuat replika baca dari replika multi-sumber. Anda dapat menemukan replika baca ini secara berbeda Wilayah AWS berdasarkan persyaratan aplikasi Anda. Untuk informasi selengkapnya tentang replika baca, lihat [Menggunakan replika baca MySQL](USER_MySQL.Replication.ReadReplicas.md).

## Keterbatasan untuk replikasi multi-sumber pada RDS untuk MySQL
<a name="mysql-multi-source-replication-limitations"></a>

Batasan berikut berlaku untuk replikasi multi-sumber pada RDS untuk MySQL:
+ Saat ini, RDS untuk MySQL mendukung konfigurasi maksimum 15 saluran untuk replika multi-sumber.
+ Instance replika baca tidak dapat dikonfigurasi sebagai replika multi-sumber.
+ Untuk mengonfigurasi replikasi multi-sumber pada RDS untuk MySQL yang menjalankan engine versi 5.7, Performance Schema harus diaktifkan pada instance replika. Mengaktifkan Skema Kinerja adalah opsional pada RDS untuk MySQL yang menjalankan engine versi 8.0 atau 8.4.
+ Untuk RDS untuk MySQL yang menjalankan engine versi 5.7, filter replikasi berlaku untuk semua saluran replikasi. Untuk RDS untuk MySQL yang menjalankan engine versi 8.0 atau 8.4, Anda dapat mengonfigurasi filter yang berlaku untuk semua saluran replikasi atau saluran individual.
+ Memulihkan snapshot RDS atau melakukan Point-in-time-Restore (PITR) tidak memulihkan konfigurasi saluran replika multi-sumber.
+ Saat Anda membuat replika baca dari replika multi-sumber, itu hanya mereplikasi data dari instance multi-sumber. Itu tidak mengembalikan konfigurasi saluran apa pun.
+ MySQL tidak mendukung pengaturan jumlah pekerja paralel yang berbeda untuk setiap saluran. Setiap saluran mendapatkan jumlah pekerja paralel yang sama berdasarkan `replica_parallel_workers` nilainya.

Batasan tambahan berikut berlaku jika target replikasi multi-sumber Anda adalah cluster DB multi-AZ:
+ Saluran harus dikonfigurasi untuk sumber RDS untuk instance MySQL sebelum penulisan ke instance itu terjadi.
+ Setiap sumber RDS untuk instance MySQL harus mengaktifkan replikasi berbasis GTID.
+ Peristiwa failover pada cluster DB menghapus konfigurasi replikasi multi-sumber. Memulihkan konfigurasi itu membutuhkan pengulangan langkah-langkah konfigurasi.

# Mengonfigurasikan klaster aktif-aktif untuk RDS for MySQL
<a name="mysql-active-active-clusters"></a>

Cluster aktif-aktif di Amazon RDS adalah konfigurasi database tempat beberapa node secara aktif menangani operasi baca dan tulis, mendistribusikan beban kerja di seluruh instance untuk meningkatkan ketersediaan dan skalabilitas. Setiap node dalam cluster disinkronkan untuk menjaga konsistensi data, memungkinkan ketersediaan tinggi dan failover lebih cepat jika terjadi kegagalan node

Anda dapat mengatur klaster aktif-aktif untuk RDS for MySQL dengan menggunakan plugin MySQL Group Replication. Plugin Group Replication didukung untuk RDS untuk instance MySQL DB yang menjalankan versi berikut:
+ Semua MySQL 8.4 versi
+ MySQL 8.0.35 dan versi minor yang lebih tinggi

Lihat informasi tentang MySQL Group Replication di [Group Replication](https://dev.mysql.com/doc/refman/8.0/en/group-replication.html) dalam dokumentasi MySQL. Dokumentasi MySQL berisi informasi terperinci tentang fitur ini, sementara topik ini menjelaskan cara mengonfigurasikan dan mengelola plugin pada instans basis data RDS for MySQL Anda.

**catatan**  
Singkat cerita, semua penyebutan klaster "aktif-aktif" dalam topik ini mengacu kepada klaster aktif-aktif yang menggunakan plugin MySQL Group Replication.

## Kasus penggunaan untuk klaster aktif-aktif
<a name="mysql-active-active-clusters-benefits"></a>

Kasus-kasus berikut adalah calon yang baik untuk menggunakan klaster aktif-aktif:
+ Aplikasi yang membutuhkan semua instans basis data di dalam klaster untuk mendukung operasi tulis. Plugin Group Replication menjaga data tetap konsisten pada setiap instans basis data di dalam klaster aktif-aktif. Lihat informasi yang lebih lengkap tentang cara kerjanya di [Group Replication](https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html) dalam dokumentasi MySQL.
+ Aplikasi yang membutuhkan ketersediaan sinambung basis data. Dengan klaster aktif-aktif, data disimpan pada semua instans basis data di dalam klaster. Jika satu instans basis data gagal, aplikasi dapat mengalihkan lalu lintas ke instans basis data yang lain di dalam klaster.
+ Aplikasi yang mungkin perlu membagi operasi baca dan tulis di antara instans basis data yang berbeda di klaster untuk tujuan penyeimbangan beban. Dengan klaster aktif-aktif, aplikasi Anda dapat mengirim lalu lintas baca ke instans basis data tertentu dan menulis lalu lintas ke instans lain. Anda juga dapat mengganti kapan saja instans basis data yang akan dikirim lalu lintas baca atau tulis. 

**Topics**
+ [Kasus penggunaan untuk klaster aktif-aktif](#mysql-active-active-clusters-benefits)
+ [Keterbatasan dan pertimbangan untuk cluster aktif-aktif](mysql-active-active-clusters-considerations-limitations.md)
+ [Mempersiapkan cluster aktif-aktif lintas VPC](mysql-active-active-clusters-cross-vpc-prerequisites.md)
+ [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md)
+ [Mengonversi instans basis data yang ada ke klaster aktif-aktif](mysql-active-active-clusters-converting.md)
+ [Menyiapkan klaster aktif-aktif dengan instans basis data baru](mysql-active-active-clusters-setting-up.md)
+ [Menambahkan instans basis data ke klaster aktif-aktif](mysql-active-active-clusters-adding.md)
+ [Memantau klaster aktif-aktif](mysql-active-active-clusters-monitoring.md)
+ [Menghentikan Group Replication pada instans basis data dalam klaster aktif-aktif](mysql-active-active-clusters-stopping.md)
+ [Mengganti nama instans basis data di klaster aktif-aktif](mysql-active-active-clusters-renaming.md)
+ [Mengeluarkan instans basis data dari klaster aktif-aktif](mysql-active-active-clusters-remove.md)

# Keterbatasan dan pertimbangan untuk cluster aktif-aktif
<a name="mysql-active-active-clusters-considerations-limitations"></a>

Cluster aktif aktif di Amazon RDS menawarkan ketersediaan dan skalabilitas yang ditingkatkan dengan mendistribusikan beban kerja di beberapa instans. Namun, ada batasan dan pertimbangan penting yang perlu diingat saat menggunakan arsitektur ini.

Bagian berikut menguraikan faktor-faktor kunci seperti penundaan replikasi, resolusi konflik, alokasi sumber daya, dan perilaku failover. Memahami pertimbangan ini dapat membantu memastikan kinerja dan keandalan yang optimal dalam penerapan klaster aktif-aktif.

**Topics**
+ [Batasan untuk klaster aktif-aktif RDS for MySQL](#mysql-active-active-clusters-limitations)
+ [Pertimbangan dan praktik terbaik untuk RDS untuk cluster aktif-aktif MySQL](#mysql-active-active-clusters-considerations)

## Batasan untuk klaster aktif-aktif RDS for MySQL
<a name="mysql-active-active-clusters-limitations"></a>

Batasan berikut berlaku bagi klaster aktif-aktif untuk RDS for MySQL:
+ Nama pengguna master tidak boleh `rdsgrprepladmin` untuk instans basis data di klaster aktif-aktif. Nama pengguna ini dicadangkan untuk koneksi Group Replication.
+ Untuk instans basis data dengan replika baca di klaster aktif-aktif, status replikasi yang berkepanjangan selain `Replicating` dapat menyebabkan file log melebihi batas penyimpanan. Lihat informasi tentang status replika baca di [Memantau replikasi baca](USER_ReadRepl.Monitoring.md).
+ Deployment blue/green tidak didukung untuk instans basis data di klaster aktif-aktif. Untuk informasi selengkapnya, lihat [Menggunakan Amazon RDS Blue/Green Aurora Deployment untuk pembaruan database](blue-green-deployments.md).
+ Autentikasi Kerberos tidak didukung untuk instans basis data di klaster aktif-aktif. Untuk informasi selengkapnya, lihat [Menggunakan Kerberos otentikasi untuk Amazon RDS for MySQL](mysql-kerberos.md).
+ Instans basis data di klaster basis data Multi-AZ tidak dapat ditambahkan ke klaster aktif-aktif. Namun, instans basis data dalam deployment instans basis data Multi-AZ dapat ditambahkan ke klaster aktif-aktif. Untuk informasi selengkapnya, lihat [Mengonfigurasi dan mengelola penyebaran Multi-AZ untuk Amazon RDS](Concepts.MultiAZ.md).
+ Tabel yang tidak memiliki kunci primer tidak direplikasi dalam klaster aktif-aktif karena penulisan ditolak oleh plugin Group Replication.
+ Tabel non-InnoDB tidak direplikasi dalam klaster aktif-aktif.
+ Klaster aktif-aktif tidak mendukung pernyataan-pernyataan DML dan DDL yang konkuren pada instans basis data yang berbeda di klaster.
+ Anda tidak dapat mengonfigurasikan klaster aktif-aktif untuk menggunakan mode primer tunggal untuk mode replikasi grup. Untuk konfigurasi ini, sebaiknya gunakan klaster basis data Multi-AZ sebagai gantinya. Untuk informasi selengkapnya, lihat [Penerapan cluster DB multi-AZ untuk Amazon RDS](multi-az-db-clusters-concepts.md).
+ Replikasi multisumber tidak didukung untuk instans basis data di klaster aktif-aktif.
+ Klaster aktif-aktif lintas Wilayah tidak dapat menerapkan verifikasi otoritas sertifikat (CA) untuk koneksi Group Replication.

## Pertimbangan dan praktik terbaik untuk RDS untuk cluster aktif-aktif MySQL
<a name="mysql-active-active-clusters-considerations"></a>

Sebelum Anda menggunakan klaster aktif-aktif RDS for MySQL, tinjau beberapa pertimbangan dan praktik terbaik berikut:
+ Klaster aktif-aktif tidak dapat memiliki lebih dari sembilan instans basis data.
+ Dengan plugin Group Replication, Anda dapat mengendalikan jaminan konsistensi transaksi klaster aktif-aktif. Lihat informasi yang lebih lengkap di [Transaction Consistency Guarantees](https://dev.mysql.com/doc/refman/8.0/en/group-replication-consistency-guarantees.html) dalam dokumentasi MySQL.
+ Konflik mungkin terjadi ketika instans basis data yang berbeda memperbarui baris yang sama di klaster aktif-aktif. Lihat informasi tentang konflik dan resolusi konflik di [Group Replication](https://dev.mysql.com/doc/refman/8.0/en/group-replication-summary.html) dalam dokumentasi MySQL.
+ Untuk toleransi kesalahan, sertakan setidaknya tiga instans basis data di klaster aktif-aktif Anda. Mengonfigurasikan klaster aktif-aktif hanya dengan satu atau dua instans basis data dapat dilakukan, tetapi klaster tidak akan toleran terhadap kesalahan. Lihat informasi tentang toleransi kesalahan di [Fault-tolerance](https://dev.mysql.com/doc/refman/8.0/en/group-replication-fault-tolerance.html) dalam dokumentasi MySQL.
+ Ketika instans basis data bergabung dengan klaster aktif-aktif yang ada dan menjalankan versi mesin yang sama dengan versi mesin terendah di klaster, instans basis data bergabung dalam mode baca tulis.
+ Ketika instans basis data bergabung dengan klaster aktif-aktif yang ada dan menjalankan versi mesin yang lebih tinggi daripada versi mesin terendah di klaster, instans basis data harus tetap dalam mode hanya-baca.
+ Jika Anda mengaktifkan Replikasi Grup untuk instans DB dengan menyetel `rds.group_replication_enabled` parameternya ke `1` dalam grup parameter DB, tetapi replikasi belum dimulai atau gagal dimulai, instans DB ditempatkan dalam super-read-only mode untuk mencegah inkonsistensi data. Untuk informasi tentang super-read-only mode, lihat dokumentasi [MySQL](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_super_read_only).
+ Anda dapat memutakhirkan instans basis data di klaster aktif-aktif, tetapi instans basis data akan hanya baca hingga semua instans basis data lain di klaster aktif-aktif ditingkatkan ke versi mesin yang sama atau versi mesin yang lebih tinggi. Saat Anda memutakhirkan instans basis data, instans basis data bergabung secara otomatis dengan klaster aktif-aktif yang sama saat pemutakhiran selesai. Untuk menghindari peralihan yang tidak diinginkan ke mode hanya baca untuk instans basis data, nonaktifkan peningkatan versi kecil otomatis untuknya. Lihat informasi tentang pemutakhiran instans basis data MySQL di [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md).
+ Anda dapat menambahkan instans basis data dalam deployment instans basis data Multi-AZ ke klaster aktif-aktif yang ada. Anda juga dapat mengonversi instans basis data AZ Tunggal dalam klaster aktif-aktif menjadi deployment instans basis data Multi-AZ. Jika instans basis data utama dalam deployment Multi-AZ gagal, instans utama melakukan failover ke instans siaga. Instans basis data utama baru bergabung secara otomatis dengan klaster yang sama setelah failover selesai. Lihat informasi yang lebih lengkap tentang deployment instans basis data Multi-AZ di [Penerapan instans DB multi-AZ untuk Amazon RDS](Concepts.MultiAZSingleStandby.md).
+ Kami menganjurkan supaya instans-instans basis data dalam klaster aktif-aktif memiliki rentang waktu yang berbeda-beda untuk jendela pemeliharaannya. Praktik ini menghindari beberapa instans basis data di klaster menjadi serentak offline selama pemeliharaan. Lihat informasi yang lebih lengkap di [Jendela pemeliharaan Amazon RDS](USER_UpgradeDBInstance.Maintenance.md#Concepts.DBMaintenance).
+ Klaster aktif-aktif dapat menggunakan SSL untuk koneksi di antara instans-instans basis data. Untuk mengonfigurasikan koneksi SSL, atur parameter-parameter [group\$1replication\$1recovery\$1use\$1ssl](https://dev.mysql.com/doc/refman/8.0/en/group-replication-system-variables.html#sysvar_group_replication_recovery_use_ssl) dan [group\$1replication\$1ssl\$1mode](https://dev.mysql.com/doc/refman/8.0/en/group-replication-system-variables.html#sysvar_group_replication_ssl_mode). Nilai untuk parameter-parameter ini harus cocok untuk semua instans basis data di klaster aktif-aktif.

  Saat ini, klaster aktif-aktif tidak mendukung verifikasi otoritas sertifikat (CA) untuk koneksi di antara Wilayah AWS. Jadi, parameter [group\$1replication\$1ssl\$1mode](https://dev.mysql.com/doc/refman/8.0/en/group-replication-system-variables.html#sysvar_group_replication_ssl_mode) harus diatur ke `DISABLED` (default) atau `REQUIRED` untuk klaster lintas Wilayah.
+ Sebuah klaster aktif-aktif RDS for MySQL berjalan dalam mode multi-utama. Nilai default [group\$1replication\$1enforce\$1update\$1everywhere\$1checks](https://dev.mysql.com/doc/refman/8.0/en/group-replication-system-variables.html#sysvar_group_replication_enforce_update_everywhere_checks) adalah `ON` dan parameter ini statis. Ketika parameter ini diatur ke `ON`, aplikasi tidak dapat menyisipkan ke dalam tabel yang memiliki batasan kunci asing kaskade.
+ Klaster aktif-aktif RDS for MySQL menggunakan tumpukan komunikasi MySQL alih-alih XCOM untuk keamanan koneksi. Lihat informasi yang lebih lengkap di [Communication Stack for Connection Security Management](https://dev.mysql.com/doc/refman/8.0/en/group-replication-connection-security.html) dalam dokumentasi MySQL.
+ Ketika grup parameter basis data dikaitkan dengan instans basis data dalam klaster aktif-aktif, kami menyarankan supaya hanya mengaitkan grup parameter basis data ini dengan instans-instans basis data lain yang ada di klaster.
+ Klaster aktif-aktif hanya mendukung instans basis data RDS for MySQL. Instans basis data ini harus menjalankan versi mesin basis data yang didukung.
+ Ketika instans basis data di klaster aktif-aktif mengalami kegagalan yang tidak terduga, RDS memulai secara otomatis pemulihan instans basis data. Jika instans DB tidak pulih, sebaiknya ganti dengan instans DB baru dengan melakukan point-in-time pemulihan dengan instans DB yang sehat di cluster. Untuk petunjuk, lihat [Menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time](mysql-active-active-clusters-adding.md#mysql-active-active-clusters-adding-pitr).
+ Anda dapat menghapus instans basis data di klaster aktif-aktif tanpa memengaruhi instans basis data yang lain di situ. Lihat informasi tentang menghapus instans basis data di [Menghapus instans DB](USER_DeleteInstance.md).
+ Ketika instans DB secara tidak sengaja meninggalkan cluster aktif-aktif, secara default parameter berubah menjadi`group_replication_exit_state_action`. `OFFLINE_MODE` Dalam keadaan ini, instans DB tidak dapat diakses dan Anda harus me-reboot instans DB untuk membawanya kembali online dan bergabung kembali dengan cluster. Anda dapat mengubah perilaku ini dengan memodifikasi `group_replication_exit_state_action` parameter dalam grup parameter kustom. Dengan menyetel parameter ke`READ_ONLY`, ketika instans DB secara tidak sengaja meninggalkan cluster, ia memasuki status super hanya-baca daripada offline.

# Mempersiapkan cluster aktif-aktif lintas VPC
<a name="mysql-active-active-clusters-cross-vpc-prerequisites"></a>

Anda dapat mengonfigurasi cluster aktif-aktif dengan Amazon RDS for MySQL DB instans di lebih dari satu VPC. VPCs Bisa sama Wilayah AWS atau berbeda Wilayah AWS.

**catatan**  
Mengirim lalu lintas antara beberapa Wilayah AWS mungkin menimbulkan biaya tambahan. Lihat informasi yang lebih lengkap di [Ikhtisar Biaya Transfer Data untuk Arsitektur Umum](https://aws.amazon.com/blogs/architecture/overview-of-data-transfer-costs-for-common-architectures/).

Jika Anda mengonfigurasikan klaster aktif-aktif dalam satu VPC, Anda dapat melewati langkah-langkah ini dan melanjutkan ke [Menyiapkan klaster aktif-aktif dengan instans basis data baru](mysql-active-active-clusters-setting-up.md).

**Untuk mempersiapkan klaster aktif-aktif dengan instans basis data di lebih dari satu VPC**

1. Pastikan rentang IPv4 alamat di blok CIDR memenuhi persyaratan berikut:
   + Rentang IPv4 alamat di blok CIDR tidak VPCs dapat tumpang tindih.
   + Semua rentang IPv4 alamat di blok CIDR harus lebih rendah dari `128.0.0.0/subnet_mask` atau lebih tinggi dari *subnet\$1mask* 128.0.0.0/.

   Rentang-rentang berikut menggambarkan persyaratan ini:
   + `10.1.0.0/16` di satu VPC dan `10.2.0.0/16` di VPC yang lain didukung.
   + `172.1.0.0/16` di satu VPC dan `172.2.0.0/16` di VPC yang lain didukung.
   + `10.1.0.0/16` di satu VPC dan `10.1.0.0/16` di VPC yang lain *tidak* didukung karena bertumpang tindih.
   + `10.1.0.0/16` di satu VPC dan `172.1.0.0/16` di VPC yang lain *tidak* didukung karena yang satu di bawah `128.0.0.0/subnet_mask` dan yang lain di atas `128.0.0.0/subnet_mask`.

   Lihat informasi tentang blok CIDR di [Blok CIDR VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html) dalam *Panduan Pengguna Amazon VPC*.

1. Di setiap VPC, pastikan bahwa resolusi DNS dan nama host DNS keduanya diaktifkan.

   Lihat petunjuknya di [Melihat dan memperbarui atribut-atribut DNS untuk VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) dalam *Panduan Pengguna Amazon VPC*.

1. Konfigurasikan VPCs agar Anda dapat merutekan lalu lintas di antara mereka dengan salah satu cara berikut:
   + Buat koneksi peering VPC antara file. VPCs

     Lihat petunjuknya di [Membuat koneksi peering VPC](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) dalam *Panduan Peering Amazon VPC*. Di setiap VPC, pastikan ada aturan masuk untuk grup keamanan Anda yang merujuk ke grup keamanan di VPC yang menjadi rekan/peer. Melakukan hal itu memungkinkan lalu lintas mengalir ke dan dari instans yang terkait dengan grup keamanan yang dirujuk di VPC yang menjadi rekan/peer. Lihat petunjuknya di [Memperbarui grup keamanan untuk merujuk ke grup keamanan rekan](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html) dalam *Panduan Peering Amazon VPC*. 
   + Buat gateway transit antara VPCs.

     Lihat petunjuknya di [Memulai gateway transit](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-getting-started.html) dalam *Gerbang Transit Amazon VPC*. Di setiap VPC, pastikan ada aturan masuk untuk grup keamanan Anda yang mengizinkan lalu lintas dari VPC lain, seperti aturan masuk yang menentukan CIDR VPC yang lain. Melakukan hal itu akan memungkinkan lalu lintas mengalir ke dan dari instans yang dikaitkan dengan grup keamanan yang dirujuk di klaster aktif-aktif. Untuk informasi selengkapnya, lihat [Mengontrol lalu lintas ke AWS sumber daya Anda menggunakan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#working-with-security-groups) di *Panduan Pengguna Amazon VPC*.

# Setelan parameter yang diperlukan untuk klaster aktif-aktif
<a name="mysql-active-active-clusters-parameters"></a>

Mengonfigurasi parameter untuk cluster aktif-aktif di RDS Amazon untuk SQL My sangat penting untuk menjaga kinerja dan stabilitas operasional yang konsisten. Tabel ini merinci parameter kunci yang mengontrol replikasi, resolusi konflik, dan distribusi beban kerja. Konfigurasi yang benar memastikan sinkronisasi yang efisien antar node, meminimalkan kelambatan replikasi, dan mengoptimalkan pemanfaatan sumber daya di lingkungan terdistribusi atau lalu lintas tinggi.


| Parameter | Deskripsi | Setelan diperlukan | 
| --- | --- | --- | 
|  `binlog_format`  |  Mengatur format pencatatan log biner. Nilai default RDS untuk versi My SQL 8.0 dan yang lebih rendah adalah`MIXED`. Nilai default RDS untuk versi My SQL 8.4 adalah`ROW`. Untuk informasi selengkapnya, lihat [SQLdokumentasi Saya](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format).  |  `ROW`  | 
|  `enforce_gtid_consistency`  |  Menegakkan GTID konsistensi untuk eksekusi pernyataan. Nilai default RDS untuk My SQL adalah`OFF`. Untuk informasi selengkapnya, lihat [SQLdokumentasi Saya](https://dev.mysql.com/doc/refman/8.0/en/replication-options-gtids.html#sysvar_enforce_gtid_consistency).  |  `ON`  | 
|  `group_replication_group_name`  |  Menetapkan nama Replikasi Grup ke a. UUID UUIDFormatnya adalah`11111111-2222-3333-4444-555555555555`. Anda dapat menghasilkan My SQL UUID dengan menghubungkan ke instans SQL DB Saya dan menjalankannya`SELECT UUID()`. Nilai harus sama untuk semua instans basis data di klaster aktif-aktif. Untuk informasi selengkapnya, lihat [SQLdokumentasi Saya](https://dev.mysql.com/doc/refman/8.0/en/miscellaneous-functions.html#function_uuid).  |  A Saya SQL UUID  | 
|  `gtid-mode`  |  Kontrol GTID berbasis logging. Nilai default RDS untuk My SQL adalah`OFF_PERMISSIVE`. Untuk informasi selengkapnya, lihat [SQLdokumentasi Saya](https://dev.mysql.com/doc/refman/8.0/en/replication-options-gtids.html#sysvar_gtid_mode).  |  `ON`  | 
|  `rds.custom_dns_resolution`  |  Menentukan apakah akan mengizinkan DNS resolusi dari DNS server Amazon di AndaVPC. DNSresolusi harus diaktifkan ketika Replikasi Grup diaktifkan dengan `rds.group_replication_enabled` parameter. DNSresolusi tidak dapat diaktifkan ketika Replikasi Grup dinonaktifkan dengan `rds.group_replication_enabled` parameter. Untuk informasi selengkapnya, lihat [DNSServer Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#AmazonDNS) *di Panduan VPC Pengguna Amazon*.  |  `1`  | 
|  `rds.group_replication_enabled`  |  Menentukan apakah Group Replication diaktifkan untuk instans basis data. Group Replication harus diaktifkan pada instans basis data dalam klaster aktif-aktif.  |  `1`  | 
|  `replica_preserve_commit_order`(RDSuntuk versi SQL 8.4 Saya dan yang lebih tinggi) atau `slave_preserve_commit_order` (RDSuntuk versi SQL 8.0 Saya)  |  Mengendalikan urutan transaksi di-commit pada replika. Nilai default RDS untuk My SQL adalah`ON`. Untuk informasi selengkapnya, lihat [SQLdokumentasi Saya](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_preserve_commit_order).  |  `ON`  | 

# Mengonversi instans basis data yang ada ke klaster aktif-aktif
<a name="mysql-active-active-clusters-converting"></a>

Versi mesin DB dari instans DB yang ingin Anda migrasikan ke cluster aktif-aktif harus menjadi salah satu versi berikut:
+ Semua MySQL 8.4 versi
+ MySQL 8.0.35 dan versi minor yang lebih tinggi

Jika Anda perlu memutakhirkan versi mesin, lihat [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md).

Jika Anda menyiapkan klaster aktif-aktif dengan instans basis data di lebih dari satu VPC, pastikan untuk menyelesaikan prasyarat di [Mempersiapkan cluster aktif-aktif lintas VPC](mysql-active-active-clusters-cross-vpc-prerequisites.md).

Selesaikan langkah-langkah berikut untuk memigrasikan instans basis data yang ada ke klaster aktif-aktif untuk RDS for MySQL.

**Topics**
+ [Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom](#mysql-active-active-clusters-converting-parameter-group)
+ [Langkah 2: Kaitkan instans basis data dengan grup parameter basis data yang telah mengatur parameter Group Replication yang diperlukan](#mysql-active-active-clusters-converting-associate-parameter-group)
+ [Langkah 3: Buat klaster aktif-aktif](#mysql-active-active-clusters-converting-associate-parameter-groups)
+ [Langkah 4: Buat instans basis data RDS for MySQL tambahan untuk klaster aktif-aktif](#mysql-active-active-clusters-converting-add-db-instances)
+ [Langkah 5: Inisialisasikan grup pada instans basis data yang Anda konversi](#mysql-active-active-clusters-converting-start-replication-first)
+ [Langkah 6: Mulai replikasi pada instans basis data lain di klaster aktif-aktif](#mysql-active-active-clusters-converting-start-replication-other)
+ [Langkah 7: (Disarankan) Periksa status klaster aktif-aktif](#mysql-active-active-clusters-converting-view)

## Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom
<a name="mysql-active-active-clusters-converting-parameter-group"></a>

Instans basis data RDS for MySQL dalam klaster aktif-aktif harus dikaitkan dengan grup parameter kustom yang memiliki setelan yang benar untuk parameter-parameter yang diperlukan. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md).

Anda dapat mengatur semua parameter ini di grup parameter baru atau di grup parameter yang ada. Namun, untuk menghindari memengaruhi tanpa sengaja instans basis data yang bukan bagian dari klaster aktif-aktif, kami sangat menyarankan supaya Anda membuat grup parameter kustom baru. Instans basis data dalam klaster aktif-aktif dapat dikaitkan dengan grup parameter basis data yang sama atau berbeda.

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk membuat grup parameter kustom baru. Untuk informasi selengkapnya, lihat [Membuat grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Creating.md). Contoh berikut menjalankan [create-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) AWS CLI perintah untuk membuat grup parameter DB kustom bernama RDS `myactivepg` untuk MySQL 8.0:

Untuk Linux, macOS, atau Unix:

```
aws rds create-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --db-parameter-group-family mysql8.0 \
  --description "Parameter group for active-active clusters"
```

Untuk Windows:

```
aws rds create-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --db-parameter-group-family mysql8.0 ^
  --description "Parameter group for active-active clusters"
```

Anda juga dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengatur parameter dalam grup parameter kustom. Untuk informasi selengkapnya, lihat [](USER_WorkingWithParamGroups.Modifying.md).

Contoh berikut menjalankan [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI perintah untuk mengatur parameter untuk RDS untuk MySQL 8.0. Untuk menggunakan contoh ini dengan RDS untuk MySQL 8.4, ubah ke. `slave_preserve_commit_order` `replica_preserve_commit_order`

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \
               "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \
               "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \
               "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \
               "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \
               "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \
               "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"
```

Untuk Windows:

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^
               "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^
               "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^
               "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^
               "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^
               "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^
               "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"
```

## Langkah 2: Kaitkan instans basis data dengan grup parameter basis data yang telah mengatur parameter Group Replication yang diperlukan
<a name="mysql-active-active-clusters-converting-associate-parameter-group"></a>

Kaitkan instans basis data dengan grup parameter yang Anda buat atau ubah dalam langkah sebelumnya. Lihat petunjuk di [](USER_WorkingWithParamGroups.Associating.md).

Boot ulang instans basis data agar setelan parameter baru berlaku. Lihat petunjuk di [Mem-boot ulang instans DB DB](USER_RebootInstance.md).

## Langkah 3: Buat klaster aktif-aktif
<a name="mysql-active-active-clusters-converting-associate-parameter-groups"></a>

Dalam grup parameter basis data yang terkait dengan instans basis data, atur parameter `group_replication_group_seeds` ke titik akhir instans basis data yang Anda konversi.

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengatur parameter. Anda tidak perlu mem-boot ulang instans basis data setelah mengatur parameter ini. Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

Contoh berikut menjalankan [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
```

Untuk Windows:

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
```

## Langkah 4: Buat instans basis data RDS for MySQL tambahan untuk klaster aktif-aktif
<a name="mysql-active-active-clusters-converting-add-db-instances"></a>

Untuk membuat instance DB tambahan untuk cluster aktif-aktif, lakukan point-in-time pemulihan pada instans DB yang Anda konversi. Lihat petunjuk di [Menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time](mysql-active-active-clusters-adding.md#mysql-active-active-clusters-adding-pitr).

Klaster aktif-aktif dapat memiliki hingga sembilan instans basis data. Lakukan point-in-time pemulihan pada instans DB hingga Anda memiliki jumlah instans DB yang Anda inginkan untuk cluster. Saat Anda melakukan point-in-recovery, pastikan Anda mengaitkan instans DB yang Anda tambahkan dengan grup parameter DB yang telah `rds.group_replication_enabled` disetel`1`. Jika tidak, Group Replication tidak akan dimulai pada instans basis data yang baru ditambahkan.

## Langkah 5: Inisialisasikan grup pada instans basis data yang Anda konversi
<a name="mysql-active-active-clusters-converting-start-replication-first"></a>

Inisialisasikan grup dan mulai replikasi:

1. Hubungi instans basis data yang Anda konversi dalam klien SQL. Lihat informasi yang lebih lengkap tentang cara menghubungi instans basis data RDS for MySQL di [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md).

1. Di klien SQL, jalankan prosedur tersimpan berikut dan ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna. Pengguna `rdsgrprepladmin` dicadangkan untuk koneksi Group Replication dalam klaster aktif-aktif. Kata sandi untuk pengguna ini harus sama pada semua instans basis data di klaster aktif-aktif.

   ```
   call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog
   call mysql.rds_group_replication_create_user('group_replication_user_password');
   call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
   call mysql.rds_group_replication_start(1);
   ```

   Contoh ini menetapkan nilai `binlog retention hours` ke `168`, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

   Contoh-contoh ini menentukan `1` dalam prosedur tersimpan `mysql.rds_group_replication_start` untuk menginisialisasikan grup baru dengan instans basis data saat ini.

   Lihat informasi yang lebih lengkap tentang prosedur tersimpan yang dipanggil dalam contoh ini di [Mengelola klaster aktif-aktif](mysql-stored-proc-active-active-clusters.md).

## Langkah 6: Mulai replikasi pada instans basis data lain di klaster aktif-aktif
<a name="mysql-active-active-clusters-converting-start-replication-other"></a>

Untuk setiap instans basis data di klaster aktif-aktif, gunakan klien SQL untuk menghubungi instans itu, dan jalankan prosedur tersimpan berikut. Ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna.

```
call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog
call mysql.rds_group_replication_create_user('group_replication_user_password');
call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
call mysql.rds_group_replication_start(0);
```

Contoh ini menetapkan nilai `binlog retention hours` ke `168`, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada setiap instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

Contoh ini menentukan `0` dalam prosedur tersimpan `mysql.rds_group_replication_start` untuk menggabungkan instans basis data saat ini dengan grup yang ada.

**Tip**  
Pastikan untuk menjalankan prosedur tersimpan ini pada semua instans basis data yang lain di klaster aktif-aktif.

## Langkah 7: (Disarankan) Periksa status klaster aktif-aktif
<a name="mysql-active-active-clusters-converting-view"></a>

Untuk memastikan bahwa setiap anggota klaster dikonfigurasikan dengan benar, periksa status klaster dengan menghubungi instans basis data di klaster aktif-aktif, dan menjalankan perintah SQL berikut:

```
SELECT * FROM performance_schema.replication_group_members;
```

Output Anda semestinya menampilkan `ONLINE` untuk `MEMBER_STATE` setiap instans basis data, seperti pada output sampel berikut:

```
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83  |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)
```

Lihat informasi tentang nilai `MEMBER_STATE` yang mungkin di [Group Replication Server States](https://dev.mysql.com/doc/refman/8.0/en/group-replication-server-states.html) dalam dokumentasi MySQL.

# Menyiapkan klaster aktif-aktif dengan instans basis data baru
<a name="mysql-active-active-clusters-setting-up"></a>

Selesaikan langkah-langkah berikut untuk menyiapkan cluster aktif-aktif menggunakan Amazon RDS baru untuk instans DB Amazon RDS for MySQL.

Jika Anda menyiapkan klaster aktif-aktif dengan instans basis data di lebih dari satu VPC, pastikan untuk menyelesaikan prasyarat di [Mempersiapkan cluster aktif-aktif lintas VPC](mysql-active-active-clusters-cross-vpc-prerequisites.md).

**Topics**
+ [Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom](#mysql-active-active-clusters-setting-up-parameter-group)
+ [Langkah 2: Buat instans basis data RDS for MySQL baru untuk klaster aktif-aktif](#mysql-active-active-clusters-setting-up-db-instances)
+ [Langkah 3: Tentukan instance DB di cluster aktif-aktif](#mysql-active-active-clusters-setting-up-associate-parameter-groups)
+ [Langkah 4: Inisialisasi grup pada instance DB dan mulai replikasi](#mysql-active-active-clusters-setting-up-start-replication-first)
+ [Langkah 5: Mulai replikasi pada instans DB lainnya di cluster aktif-aktif](#mysql-active-active-clusters-setting-up-start-replication-other)
+ [Langkah 6: (Disarankan) Periksa status cluster aktif-aktif](#mysql-active-active-clusters-setting-up-view)
+ [Langkah 7: (Opsional) Impor data ke instans DB di cluster aktif-aktif](#mysql-active-active-clusters-import)

## Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom
<a name="mysql-active-active-clusters-setting-up-parameter-group"></a>

Instans basis data RDS for MySQL dalam klaster aktif-aktif harus dikaitkan dengan grup parameter kustom yang memiliki setelan yang benar untuk parameter-parameter yang diperlukan. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md).

Anda dapat mengatur semua parameter ini di grup parameter baru atau di grup parameter yang ada. Namun, untuk menghindari memengaruhi tanpa sengaja instans basis data yang bukan bagian dari klaster aktif-aktif, kami sangat menyarankan supaya Anda membuat grup parameter kustom baru. Instans basis data dalam klaster aktif-aktif dapat dikaitkan dengan grup parameter basis data yang sama atau berbeda.

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk membuat grup parameter kustom baru. Untuk informasi selengkapnya, lihat [Membuat grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Creating.md). Contoh berikut menjalankan [create-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) AWS CLI perintah untuk membuat grup parameter DB kustom bernama RDS `myactivepg` untuk MySQL 8.0:

Untuk Linux, macOS, atau Unix:

```
aws rds create-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --db-parameter-group-family mysql8.0 \
  --description "Parameter group for active-active clusters"
```

Untuk Windows:

```
aws rds create-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --db-parameter-group-family mysql8.0 ^
  --description "Parameter group for active-active clusters"
```

Anda juga dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengatur parameter dalam kelompok parameter kustom. Untuk informasi selengkapnya, lihat [](USER_WorkingWithParamGroups.Modifying.md).

Contoh berikut menjalankan [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI perintah untuk mengatur parameter untuk RDS untuk MySQL 8.0. Untuk menggunakan contoh ini dengan RDS untuk MySQL 8.4, ubah ke. `slave_preserve_commit_order` `replica_preserve_commit_order`

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \
               "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \
               "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \
               "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \
               "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \
               "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \
               "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"
```

Untuk Windows:

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^
               "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^
               "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^
               "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^
               "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^
               "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^
               "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"
```

## Langkah 2: Buat instans basis data RDS for MySQL baru untuk klaster aktif-aktif
<a name="mysql-active-active-clusters-setting-up-db-instances"></a>

Cluster aktif-aktif didukung untuk versi RDS berikut untuk instans MySQL DB:
+ Semua MySQL versi 8.4 versi
+ MySQL versi 8.0.35 dan versi minor yang lebih tinggi

Anda dapat membuat hingga sembilan instans basis data baru untuk klaster.

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk membuat instance DB baru. Lihat informasi yang lebih lengkap tentang cara membuat instans basis data di [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). Saat Anda membuat instans basis data, kaitkan dengan grup parameter basis data yang Anda buat atau ubah dalam langkah sebelumnya.

## Langkah 3: Tentukan instance DB di cluster aktif-aktif
<a name="mysql-active-active-clusters-setting-up-associate-parameter-groups"></a>

Dalam grup parameter basis data yang terkait dengan setiap instans basis data, atur parameter `group_replication_group_seeds` ke titik akhir instans basis data yang ingin Anda sertakan dalam klaster.

Anda dapat menggunakan Konsol Manajemen AWS atau AWS CLI untuk mengatur parameter. Anda tidak perlu mem-boot ulang instans basis data setelah mengatur parameter ini. Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

Contoh berikut menjalankan [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

```
aws rds modify-db-parameter-group \
  --db-parameter-group-name myactivepg \
  --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
```

Untuk Windows:

```
aws rds modify-db-parameter-group ^
  --db-parameter-group-name myactivepg ^
  --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
```

**Tip**  
Pastikan untuk mengatur parameter `group_replication_group_seeds` di setiap grup parameter basis data yang terkait dengan instans basis data di klaster aktif-aktif.

## Langkah 4: Inisialisasi grup pada instance DB dan mulai replikasi
<a name="mysql-active-active-clusters-setting-up-start-replication-first"></a>

Anda dapat memilih basis data baru untuk menginisialisasikan grup dan memulai replikasi. Untuk melakukannya, selesaikan langkah-langkah berikut:

1. Pilih instans basis data di klaster aktif-aktif, dan hubungi instans basis data itu di klien SQL. Lihat informasi yang lebih lengkap tentang cara menghubungi instans basis data RDS for MySQL di [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md).

1. Di klien SQL, jalankan prosedur tersimpan berikut dan ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna. Pengguna `rdsgrprepladmin` dicadangkan untuk koneksi Group Replication dalam klaster aktif-aktif. Kata sandi untuk pengguna ini harus sama pada semua instans basis data di klaster aktif-aktif.

   ```
   call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog
   call mysql.rds_group_replication_create_user('group_replication_user_password');
   call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
   call mysql.rds_group_replication_start(1);
   ```

   Contoh ini menetapkan nilai `binlog retention hours` ke `168`, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

   Contoh-contoh ini menentukan `1` dalam prosedur tersimpan `mysql.rds_group_replication_start` untuk menginisialisasikan grup baru dengan instans basis data saat ini.

   Lihat informasi yang lebih lengkap tentang prosedur tersimpan yang dipanggil dalam contoh ini di [Mengelola klaster aktif-aktif](mysql-stored-proc-active-active-clusters.md).

## Langkah 5: Mulai replikasi pada instans DB lainnya di cluster aktif-aktif
<a name="mysql-active-active-clusters-setting-up-start-replication-other"></a>

Untuk setiap instans basis data di klaster aktif-aktif, gunakan klien SQL untuk menghubungi instans itu, dan jalankan prosedur tersimpan berikut. Ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna.

```
call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog
call mysql.rds_group_replication_create_user('group_replication_user_password');
call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
call mysql.rds_group_replication_start(0);
```

Contoh ini menetapkan nilai `binlog retention hours` ke `168`, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada setiap instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

Contoh ini menentukan `0` dalam prosedur tersimpan `mysql.rds_group_replication_start` untuk menggabungkan instans basis data saat ini dengan grup yang ada.

**Tip**  
Pastikan untuk menjalankan prosedur tersimpan ini pada semua instans basis data yang lain di klaster aktif-aktif.

## Langkah 6: (Disarankan) Periksa status cluster aktif-aktif
<a name="mysql-active-active-clusters-setting-up-view"></a>

Untuk memastikan bahwa setiap anggota klaster dikonfigurasikan dengan benar, periksa status klaster dengan menghubungi instans basis data di klaster aktif-aktif, dan menjalankan perintah SQL berikut:

```
SELECT * FROM performance_schema.replication_group_members;
```

Output Anda semestinya menampilkan `ONLINE` untuk `MEMBER_STATE` setiap instans basis data, seperti pada output sampel berikut:

```
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83  |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)
```

Lihat informasi tentang nilai `MEMBER_STATE` yang mungkin di [Group Replication Server States](https://dev.mysql.com/doc/refman/8.0/en/group-replication-server-states.html) dalam dokumentasi MySQL.

## Langkah 7: (Opsional) Impor data ke instans DB di cluster aktif-aktif
<a name="mysql-active-active-clusters-import"></a>

Anda dapat mengimpor data dari basis data MySQL ke instans basis data di klaster aktif-aktif. Setelah data diimpor, Group Replication mereplikasi data ke instans basis data lain di klaster.

Lihat informasi tentang cara mengimpor data di [Mengimpor data ke database Amazon RDS for MySQL dengan downtime yang dikurangi](mysql-importing-data-reduced-downtime.md).

# Menambahkan instans basis data ke klaster aktif-aktif
<a name="mysql-active-active-clusters-adding"></a>

Anda dapat menambahkan instans DB ke Amazon RDS for My SQL active-active cluster dengan memulihkan snapshot DB atau dengan memulihkan instans DB ke titik waktu tertentu. Klaster aktif-aktif dapat mencakup hingga sembilan instans basis data.

Ketika Anda memulihkan instans basis data ke suatu titik waktu, pemulihan itu biasanya mencakup transaksi yang lebih baru daripada yang ada di instans basis data yang dipulihkan dari cuplikan basis data. Apabila instans basis data memiliki transaksi yang lebih baru, lebih sedikit transaksi yang perlu diterapkan saat Anda memulai replikasi. Jadi, menggunakan point-in-time pemulihan untuk menambahkan instance DB ke cluster biasanya lebih cepat daripada memulihkan dari snapshot DB.

**Topics**
+ [Menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time](#mysql-active-active-clusters-adding-pitr)
+ [Menambahkan instans basis data ke klaster aktif-aktif dengan menggunakan cuplikan basis data](#mysql-active-active-clusters-adding-snapshot)

## Menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time
<a name="mysql-active-active-clusters-adding-pitr"></a>

Anda dapat menambahkan instans DB ke cluster aktif-aktif dengan melakukan point-in-time pemulihan pada instans DB di cluster.

Untuk informasi tentang memulihkan instans DB ke titik waktu yang berbeda Wilayah AWS, lihat[Mereplikasi backup otomatis ke yang lain Wilayah AWS](USER_ReplicateBackups.md).

**Untuk menambahkan instans DB ke cluster aktif-aktif menggunakan pemulihan point-in-time**

1. Buat instans DB baru dengan melakukan point-in-time pemulihan pada instans DB di cluster aktif-aktif.

   Anda dapat melakukan point-in-time pemulihan pada instans DB apa pun di cluster untuk membuat instans DB baru. Untuk petunjuk, silakan lihat [Memulihkan instans DB ke waktu yang ditentukan untuk Amazon RDS](USER_PIT.md).
**penting**  
Selama point-in-time-recovery, kaitkan instans DB baru dengan grup parameter DB yang memiliki parameter cluster aktif-aktif yang ditetapkan. Jika tidak, Group Replication tidak akan mulai pada instans basis data baru. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md).
**Tip**  
Jika Anda mengambil snapshot dari instans DB sebelum memulai point-in-time pemulihan, Anda mungkin dapat mengurangi jumlah waktu yang diperlukan untuk menerapkan transaksi pada instans DB baru.

1. Tambahkan instans basis data ke parameter `group_replication_group_seeds` di setiap grup parameter basis data yang terkait dengan instans basis data di klaster aktif-aktif, yang meliputi grup parameter basis data yang Anda kaitkan dengan instans basis data baru.

   Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

1. Di SQL klien, sambungkan ke instans DB baru, dan panggil prosedur yang [mysql.rds\$1group\$1replication\$1set\$1recovery\$1channel](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_set_recovery_channel) disimpan. Ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna.

   ```
   call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
   ```

1. Menggunakan SQL klien, panggil prosedur [mysql.rds\$1group\$1replication\$1start](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_start) tersimpan untuk memulai replikasi:

   ```
   call mysql.rds_group_replication_start(0);
   ```

## Menambahkan instans basis data ke klaster aktif-aktif dengan menggunakan cuplikan basis data
<a name="mysql-active-active-clusters-adding-snapshot"></a>

Anda dapat menambahkan instans basis data ke klaster aktif-aktif dengan membuat cuplikan basis data sebuah instans basis data di klaster, lalu memulihkan cuplikan itu.

Untuk informasi tentang menyalin snapshot ke yang lain Wilayah AWS, lihat. [Pertimbangan untuk penyalinan snapshot lintas wilayah](USER_CopySnapshot.md#USER_CopySnapshot.AcrossRegions)

**Untuk menambahkan instans basis data ke klaster aktif-aktif dengan menggunakan cuplikan basis data**

1. Buat cuplikan basis data sebuah instans basis data di klaster aktif-aktif.

   Anda dapat membuat cuplikan basis data sebarang instans basis data di klaster. Lihat petunjuk di [Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS](USER_CreateSnapshot.md).

1. Pulihkan instans basis data dari cuplikan basis data.

   Selama operasi pemulihan cuplikan, kaitkan instans basis data baru dengan grup parameter basis data yang telah mengatur parameter klaster aktif-aktif. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md).

   Lihat informasi tentang cara memulihkan instans basis data dari cuplikan basis data di [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).

1. Tambahkan instans basis data ke parameter `group_replication_group_seeds` di setiap grup parameter basis data yang terkait dengan instans basis data di klaster aktif-aktif, yang meliputi grup parameter basis data yang Anda kaitkan dengan instans basis data baru.

   Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

1. Di SQL klien, sambungkan ke instans DB baru, dan panggil prosedur yang [mysql.rds\$1group\$1replication\$1set\$1recovery\$1channel](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_set_recovery_channel) disimpan. Ganti *group\$1replication\$1user\$1password* dengan kata sandi untuk `rdsgrprepladmin` pengguna.

   ```
   call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
   ```

1. Menggunakan SQL klien, panggil prosedur [mysql.rds\$1group\$1replication\$1start](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_start) tersimpan untuk memulai replikasi:

   ```
   call mysql.rds_group_replication_start(0);
   ```

# Memantau klaster aktif-aktif
<a name="mysql-active-active-clusters-monitoring"></a>

Memantau klaster aktif-aktif di Amazon RDS untuk My sangat SQL penting untuk melacak kinerja, integritas replikasi, dan sinkronisasi node. Anda dapat memantau cluster aktif-aktif dengan menghubungkan ke instans DB di cluster, dan menjalankan perintah berikut: SQL

```
SELECT * FROM performance_schema.replication_group_members;
```

Output Anda semestinya menampilkan `ONLINE` untuk `MEMBER_STATE` setiap instans basis data, seperti pada output sampel berikut:

```
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
| group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83  |        3306 | ONLINE       | PRIMARY     | 8.0.35         | MySQL                      |
+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)
```

Untuk informasi tentang `MEMBER_STATE` nilai yang mungkin, lihat [Status Server Replikasi Grup](https://dev.mysql.com/doc/refman/8.0/en/group-replication-server-states.html) dalam SQL dokumentasi Saya.

# Menghentikan Group Replication pada instans basis data dalam klaster aktif-aktif
<a name="mysql-active-active-clusters-stopping"></a>

Anda dapat menghentikan Group Replication pada instans basis data di klaster aktif-aktif. Saat Anda menghentikan Replikasi Grup, instans DB ditempatkan dalam super-read-only mode hingga replikasi dimulai ulang atau instans DB dihapus dari cluster aktif-aktif. Untuk informasi tentang super-read-only mode, lihat dokumentasi [MySQL](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_super_read_only).

**Untuk menghentikan sementara Group Replication bagi klaster aktif-aktif**

1. Hubungi instans basis data di klaster aktif-aktif dengan menggunakan klien SQL.

   Lihat informasi yang lebih lengkap tentang cara menghubungi instans basis data RDS for MySQL di [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md).

1. Di klien SQL, panggil prosedur tersimpan [mysql.rds\$1group\$1replication\$1stop](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_stop):

   ```
   call mysql.rds_group_replication_stop();
   ```

# Mengganti nama instans basis data di klaster aktif-aktif
<a name="mysql-active-active-clusters-renaming"></a>

Anda dapat mengganti nama instans basis data di klaster aktif-aktif. Untuk mengganti nama lebih dari satu instans basis data dalam klaster aktif-aktif, ganti nama instans basis data satu per satu. Jadi, ganti nama satu instans basis data dan gabungkan kembali dengan klaster sebelum Anda mengganti nama instans basis data berikutnya.

**Untuk mengganti nama instans basis data di klaster aktif-aktif**

1. Connect ke instans DB di SQL klien, dan panggil prosedur [mysql.rds\$1group\$1replication\$1stop](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_stop) tersimpan:

   ```
   call mysql.rds_group_replication_stop();
   ```

1. Ganti nama instans basis data dengan mengikuti petunjuk di [Mengganti nama instans DB](USER_RenameInstance.md).

1. Ubah parameter `group_replication_group_seeds` di setiap grup parameter basis data yang terkait dengan instans basis data di klaster aktif-aktif.

   Pada setelan parameter, ganti titik akhir instans basis data lama dengan titik akhir instans basis data baru. Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

1. Connect ke instans DB di SQL klien, dan panggil prosedur [mysql.rds\$1group\$1replication\$1start](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_start) tersimpan:

   ```
   call mysql.rds_group_replication_start(0);
   ```

# Mengeluarkan instans basis data dari klaster aktif-aktif
<a name="mysql-active-active-clusters-remove"></a>

Saat Anda mengeluarkan suatu instans basis data dari klaster aktif-aktif, instans itu akan kembali menjadi instans basis data mandiri.

**Untuk mengeluarkan instans basis data dari klaster aktif-aktif**

1. Hubungi instans basis data di klien SQL, dan panggil prosedur tersimpan [mysql.rds\$1group\$1replication\$1stop](mysql-stored-proc-active-active-clusters.md#mysql_rds_group_replication_stop):

   ```
   call mysql.rds_group_replication_stop();
   ```

1. Ubah parameter `group_replication_group_seeds` untuk instans basis data yang akan tetap berada di klaster aktif-aktif.

   Dalam parameter `group_replication_group_seeds`, hapus instans basis data yang Anda keluarkan dari klaster aktif-aktif. Lihat informasi yang lebih lengkap tentang pengaturan parameter di [](USER_WorkingWithParamGroups.Modifying.md).

1. Ubah parameter-parameter instans basis data yang Anda keluarkan dari klaster aktif-aktif sehingga tidak lagi menjadi bagian dari klaster.

   Anda dapat mengaitkan instans basis data dengan grup parameter yang berbeda, atau mengubah parameter-parameter dalam grup parameter basis data yang terkait dengan instans basis data. Parameter-parameter untuk diubah meliputi `group_replication_group_name`, `rds.group_replication_enabled`, dan `group_replication_group_seeds`. Lihat informasi yang lebih lengkap tentang parameter klaster aktif-aktif di [Setelan parameter yang diperlukan untuk klaster aktif-aktif](mysql-active-active-clusters-parameters.md).

   Jika Anda mengubah parameter-parameter dalam grup parameter basis data, pastikan bahwa grup itu tidak terkait dengan instans basis data lain di klaster aktif-aktif.

1. Boot ulang instans basis data yang Anda keluarkan dari klaster aktif-aktif agar setelan parameter baru berlaku.

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

# Mengekspor data dari instans DB MySQL dengan menggunakan replikasi
<a name="MySQL.Procedural.Exporting.NonRDSRepl"></a>

Untuk mengekspor data dari instans DB MySQL ke instans MySQL yang berjalan di luar Amazon RDS, Anda dapat menggunakan replikasi. Dalam skenario ini, instans DB MySQL adalah *instans DB MySQL sumber*, dan instans MySQL yang berjalan di luar Amazon RDS adalah *basis data MySQL eksternal*.

Basis data MySQL eksternal dapat berjalan secara on-premise di pusat data Anda, atau pada instans Amazon EC2. Basis data MySQL eksternal harus menjalankan versi yang sama dengan instans DB MySQL sumber, atau versi lebih baru.

Replikasi ke basis data MySQL eksternal hanya didukung selama waktu yang diperlukan untuk mengekspor basis data dari instans DB MySQL sumber. Replikasi harus diakhiri ketika data telah diekspor dan aplikasi dapat mulai mengakses instans MySQL eksternal.

Daftar berikut menunjukkan langkah-langkah yang harus diambil. Setiap langkah dibahas secara lebih mendetail di bagian berikutnya.

1. Siapkan instans DB MySQL eksternal.

1. Siapkan instans DB MySQL sumber untuk direplikasi.

1. Gunakan utilitas mysqldump untuk mentransfer basis data dari instans DB MySQL sumber ke basis data MySQL eksternal.

1. Mulai replikasi ke basis data MySQL eksternal.

1. Setelah selesai mengekspor, hentikan replikasi.

## Menyiapkan basis data MySQL eksternal
<a name="MySQL.Procedural.Exporting.NonRDSRepl.PrepareRDS"></a>

Lakukan langkah-langkah berikut untuk menyiapkan basis data MySQL eksternal.

**Menyiapkan basis data MySQL eksternal**

1. Instal basis data MySQL eksternal.

1. Hubungkan ke basis data MySQL eksternal sebagai pengguna master. Kemudian buat pengguna yang diperlukan untuk mendukung administrator, aplikasi, dan layanan yang mengakses basis data.

1. Ikuti petunjuk di dokumentasi MySQL untuk menyiapkan basis data MySQL eksternal sebagai replika. Untuk informasi selengkapnya, lihat [Mengatur Konfigurasi Replika](https://dev.mysql.com/doc/refman/8.0/en/replication-howto-slavebaseconfig.html) dalam dokumentasi MySQL.

1. Lakukan konfigurasi aturan egress untuk basis data MySQL eksternal agar beroperasi sebagai replika baca selama pengeksporan. Aturan egress memungkinkan basis data MySQL eksternal untuk terhubung ke instans DB MySQL sumber selama replikasi. Tentukan aturan egress yang memungkinkan koneksi Transmission Control Protocol (TCP) ke port dan alamat IP instans DB MySQL sumber.

   Tentukan aturan egress yang sesuai untuk lingkungan Anda:
   + Jika basis data MySQL eksternal berjalan di instans Amazon EC2 di dalam cloud privat virtual (VPC) berdasarkan layanan Amazon VPC, tentukan aturan egress dalam grup keamanan VPC. Untuk informasi selengkapnya, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).
   + Jika basis data MySQL eksternal diinstal secara on-premise, tentukan aturan egress di firewall.

1. Jika basis data MySQL eksternal berjalan dalam VPC, lakukan konfigurasi aturan untuk aturan daftar kontrol akses (ACL) VPC selain aturan egress grup keamanan: 
   + Lakukan konfigurasi aturan ingress ACL yang memungkinkan lalu lintas TCP ke port 1024–65535 dari alamat IP instans DB MySQL sumber.
   + Lakukan konfigurasi aturan egress ACL yang memungkinkan lalu lintas TCP keluar ke port dan alamat IP instans DB MySQL sumber.

   Untuk informasi selengkapnya tentang jaringan VPC Amazon ACLs, lihat Panduan Pengguna [Jaringan ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) di Amazon *VPC*.

1. (Opsional) Tetapkan parameter `max_allowed_packet` ke ukuran maksimum untuk menghindari kesalahan replikasi. Kami merekomendasikan pengaturan ini.

## Siapkan instans DB MySQL sumber
<a name="MySQL.Procedural.Exporting.NonRDSRepl.PrepareSource"></a>

Lakukan langkah-langkah berikut untuk menyiapkan instans DB MySQL sumber sebagai sumber replikasi.

**Menyiapkan instans DB MySQL sumber**

1. Pastikan komputer klien Anda memiliki ruang disk yang cukup untuk menyimpan log biner saat menyiapkan replikasi.

1. Connect ke instance MySQL DB sumber, dan buat akun replikasi dengan mengikuti petunjuk [dalam Membuat Pengguna untuk Replikasi dalam dokumentasi](http://dev.mysql.com/doc/refman/8.0/en/replication-howto-repuser.html) MySQL.

1. Lakukan konfigurasi aturan ingress pada sistem yang menjalankan instans DB MySQL sumber agar basis data MySQL eksternal dapat terhubung selama replikasi. Tentukan aturan ingress yang mengizinkan koneksi TCP ke port yang digunakan oleh instans DB MySQL sumber dari alamat IP basis data MySQL eksternal.

1. Tentukan aturan egress:
   + Jika instans DB MySQL sumber berjalan di VPC, tentukan aturan ingress dalam grup keamanan VPC. Untuk informasi selengkapnya, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

1. Jika instans DB MySQL sumber berjalan di VPC, lakukan konfigurasi aturan ACL VPC, selain aturan ingress grup keamanan:
   + Lakukan konfigurasi aturan ingress ACL untuk mengizinkan koneksi TCP ke port yang digunakan oleh instans Amazon RDS dari alamat IP basis data MySQL eksternal.
   + Lakukan konfigurasi aturan egress ACL untuk mengizinkan koneksi TCP dari port 1024–65535 ke alamat IP basis data MySQL eksternal.

   Untuk informasi selengkapnya tentang jaringan VPC Amazon ACLs, lihat [Jaringan ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) di Panduan Pengguna Amazon *VPC*.

1. Pastikan periode retensi cadangan ditetapkan cukup lama sehingga tidak ada log biner yang dihapus selama ekspor. Jika terdapat log yang dihapus sebelum ekspor selesai, Anda harus memulai ulang replikasi dari awal. Untuk informasi selengkapnya tentang cara mengatur periode retensi cadangan, lihat [Pengantar cadangan](USER_WorkingWithAutomatedBackups.md).

1. Gunakan prosedur tersimpan `mysql.rds_set_configuration` untuk menetapkan periode penyimpanan log biner dalam waktu yang cukup lama sehingga log biner tidak dihapus selama ekspor. Untuk informasi selengkapnya, lihat [Mengakses log biner MySQL](USER_LogAccess.MySQL.Binarylog.md).

1. Buat replika baca Amazon RDS dari instans DB MySQL sumber untuk lebih memastikan bahwa log biner instans DB MySQL sumber tidak dibersihkan. Untuk informasi selengkapnya, lihat [Membuat replika baca](USER_ReadRepl.Create.md).

1. Setelah replika baca Amazon RDS dibuat, panggil prosedur tersimpan `mysql.rds_stop_replication` untuk menghentikan proses replikasi. Instans DB MySQL sumber sudah tidak membersihkan file log biner, sehingga file tersedia untuk proses replikasi.

1. (Opsional) Tetapkan parameter `max_allowed_packet` dan parameter `slave_max_allowed_packet` ke ukuran maksimum untuk menghindari kesalahan replikasi. Ukuran maksimum untuk kedua parameter tersebut adalah 1 GB. Kami merekomendasikan pengaturan ini untuk kedua parameter. Untuk informasi tentang mengatur parameter, lihat [](USER_WorkingWithParamGroups.Modifying.md).

## Menyalin basis data
<a name="MySQL.Procedural.Exporting.NonRDSRepl.CopyData"></a>

Lakukan langkah-langkah berikut untuk menyalin basis data.

**Untuk menyalin basis data**

1. Hubungkan ke replika baca RDS dari instans DB MySQL sumber, dan jalankan pernyataan `SHOW REPLICA STATUS\G` MySQL. Catat nilai untuk hal berikut:
   + `Master_Host`
   + `Master_Port`
   + `Master_Log_File`
   + `Exec_Master_Log_Pos`
**catatan**  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

1. Gunakan utilitas mysqldump untuk membuat snapshot, yang menyalin data dari Amazon RDS ke komputer klien lokal Anda. Pastikan komputer klien Anda memiliki cukup ruang untuk menyimpan file `mysqldump` dari basis data yang akan direplikasi. Untuk basis data yang sangat besar, proses ini dapat memakan waktu beberapa jam. Ikuti petunjuk dalam [Membuat Snapshot Data Menggunakan mysqldump dalam dokumentasi MySQL](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto-mysqldump.html).

   Contoh berikut menjalankan `mysqldump` pada klien dan menuliskan dump ke sebuah file.

   Untuk Linux, macOS, atau Unix:

   ```
   mysqldump -h source_MySQL_DB_instance_endpoint \
       -u user \
       -ppassword \
       --port=3306 \
       --single-transaction \
       --routines \
       --triggers \
       --databases  database database2 > path/rds-dump.sql
   ```

   Untuk Windows:

   ```
   mysqldump -h source_MySQL_DB_instance_endpoint ^
       -u user ^
       -ppassword ^
       --port=3306 ^
       --single-transaction ^
       --routines ^
       --triggers ^
       --databases  database database2 > path\rds-dump.sql
   ```

   Anda dapat memuat file cadangan ke dalam basis data MySQL eksternal. Untuk informasi selengkapnya, lihat [Reloading SQL-Format Backups](https://dev.mysql.com/doc/refman/8.0/en/reloading-sql-format-dumps.html) di dokumentasi MySQL. Anda dapat menjalankan utilitas lain untuk memuat data ke dalam basis data MySQL eksternal. 

## Menyelesaikan ekspor
<a name="MySQL.Procedural.Exporting.NonRDSRepl.CompleteExp"></a>

Lakukan langkah-langkah berikut untuk menyelesaikan ekspor.

**Untuk menyelesaikan ekspor**

1. Gunakan pernyataan `CHANGE MASTER` MySQL untuk mengonfigurasi basis data MySQL eksternal. Tentukan ID dan kata sandi pengguna yang diberi izin `REPLICATION SLAVE`. Tentukan nilai `Master_Host`, `Master_Port`, `Relay_Master_Log_File`, dan `Exec_Master_Log_Pos` yang Anda dapatkan dari pernyataan `SHOW REPLICA STATUS\G` MySQL yang Anda jalankan pada replika baca RDS. Untuk informasi selengkapnya, lihat [MENGUBAH MASTER TO Statement](https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html) di dokumentasi MySQL.
**catatan**  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

1. Gunakan perintah `START REPLICA` MySQL untuk memulai replikasi dari instans DB MySQL sumber ke basis data MySQL eksternal.

   Tindakan ini akan memulai replikasi dari instans DB MySQL sumber dan mengekspor semua perubahan sumber yang telah terjadi setelah Anda menghentikan replikasi dari replika baca Amazon RDS.
**catatan**  
Versi MySQL sebelumnya menggunakan `START SLAVE`, bukan `START REPLICA`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `START SLAVE`. 

1. Jalankan perintah `SHOW REPLICA STATUS\G` MySQL pada basis data MySQL eksternal untuk memverifikasi bahwa basis data tersebut beroperasi sebagai replika baca. Untuk informasi selengkapnya tentang menafsirkan hasil, lihat [SHOW SLAVE \$1 REPLICA STATUS Statement dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/show-slave-status.html) MySQL.

1. Setelah replikasi pada basis data MySQL eksternal berhasil mengejar instans DB MySQL sumber, gunakan perintah `STOP REPLICA` MySQL DB untuk menghentikan replikasi dari instans DB MySQL sumber.
**catatan**  
Versi MySQL sebelumnya menggunakan `STOP SLAVE`, bukan `STOP REPLICA`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `STOP SLAVE`. 

1. Di replika baca Amazon RDS, panggil prosedur tersimpan `mysql.rds_start_replication`. Tindakan ini memungkinkan Amazon RDS untuk mulai membersihkan file log biner dari instans DB MySQL sumber.

# Opsi untuk instans SQL DB Saya
<a name="Appendix.MySQL.Options"></a>

Berikut ini, Anda dapat menemukan deskripsi opsi, atau fitur tambahan, yang tersedia untuk RDS instans Amazon yang menjalankan mesin SQL DB Saya. Untuk mengaktifkan opsi ini, Anda dapat menambahkannya ke grup opsi kustom, lalu mengaitkan grup opsi dengan instans DB Anda. Untuk informasi selengkapnya tentang cara menggunakan grup opsi, lihat [Menggunakan grup opsi](USER_WorkingWithOptionGroups.md). 

Amazon RDS mendukung opsi berikut untuk MySQL: 


****  

| Opsi | ID Opsi | Versi mesin | 
| --- | --- | --- | 
|  [Dukungan MariaDB Audit Plugin untuk MySQL](Appendix.MySQL.Options.AuditPlugin.md)  |  `MARIADB_AUDIT_PLUGIN`  | Semua versi My SQL 8.4Versi SQL 8.0.28 saya dan versi 8.0 yang lebih tinggiSemua versi SQL 5.7 Saya | 
|  [Dukungan memcached MySQL](Appendix.MySQL.Options.memcached.md)  |  `MEMCACHED`  |  Semua versi SQL 5.7 dan 8.0 Saya  | 

# Dukungan MariaDB Audit Plugin untuk MySQL
<a name="Appendix.MySQL.Options.AuditPlugin"></a>

Amazon RDS menawarkan plugin audit untuk instans basis data MySQL berdasarkan MariaDB Audit Plugin sumber terbuka. Untuk informasi selengkapnya, lihat [Plugin Audit untuk repositori GitHub MySQL](https://github.com/aws/audit-plugin-for-mysql) Server.

**catatan**  
Plugin audit untuk MySQL didasarkan pada MariaDB Audit Plugin. Di sepanjang artikel ini, kami menyebutnya sebagai MariaDB Audit Plugin.

MariaDB Audit Plugin. mencatat aktivitas basis data, termasuk pengguna yang masuk ke basis data dan kueri yang dijalankan terhadap basis data. Catatan aktivitas basis data disimpan dalam file log.

## Pengaturan opsi Audit Plugin
<a name="Appendix.MySQL.Options.AuditPlugin.Options"></a>

Amazon RDS mendukung pengaturan berikut untuk opsi MariaDB Audit Plugin.


| Pengaturan opsi | Nilai valid | Nilai default | Deskripsi | 
| --- | --- | --- | --- | 
| `SERVER_AUDIT_FILE_PATH` | `/rdsdbdata/log/audit/` | `/rdsdbdata/log/audit/` |  Lokasi file log. File log berisi catatan aktivitas yang ditentukan dalam `SERVER_AUDIT_EVENTS`. Untuk informasi lebih lanjut, lihat [Melihat dan mencantumkan file log basis data](USER_LogAccess.Procedural.Viewing.md) dan [File log ](USER_LogAccess.Concepts.MySQL.md).   | 
| `SERVER_AUDIT_FILE_ROTATE_SIZE` | 1–1000000000 | 1000000 |  Ukuran dalam byte. Jika ukuran ini tercapai, file akan diputar. Untuk informasi selengkapnya, lihat [Ringkasan log basis data RDS for MySQL](USER_LogAccess.MySQL.LogFileSize.md).   | 
| `SERVER_AUDIT_FILE_ROTATIONS` | 0–100 | 9 |  Jumlah rotasi log yang akan disimpan ketika `server_audit_output_type=file`. Jika diatur ke 0, file log tidak akan pernah diputar. Untuk informasi selengkapnya, lihat [Ringkasan log basis data RDS for MySQL](USER_LogAccess.MySQL.LogFileSize.md) dan [Mengunduh file log basis data](USER_LogAccess.Procedural.Downloading.md).   | 
| `SERVER_AUDIT_EVENTS` | `CONNECT`, `QUERY`, `QUERY_DDL`, `QUERY_DML`, `QUERY_DML_NO_SELECT`, `QUERY_DCL` | `CONNECT`, `QUERY` |  Jenis aktivitas yang akan dicatat di log. Penginstalan MariaDB Audit Plugin itu sendiri juga akan dicatat.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html) Untuk MySQL, `TABLE` tidak didukung.  | 
| `SERVER_AUDIT_INCL_USERS` | Beberapa nilai yang dipisahkan koma | Tidak ada |  Hanya menyertakan aktivitas dari pengguna tertentu. Secara default, aktivitas dicatat untuk semua pengguna `SERVER_AUDIT_INCL_USERS` dan `SERVER_AUDIT_EXCL_USERS` sama-sama bersifat eksklusif. Jika Anda menambahkan nilai ke `SERVER_AUDIT_INCL_USERS`, pastikan tidak ada nilai yang ditambahkan ke `SERVER_AUDIT_EXCL_USERS`.   | 
| `SERVER_AUDIT_EXCL_USERS` | Beberapa nilai yang dipisahkan koma | Tidak ada |  Mengecualikan aktivitas dari pengguna tertentu. Secara default, aktivitas dicatat untuk semua pengguna `SERVER_AUDIT_INCL_USERS` dan `SERVER_AUDIT_EXCL_USERS` sama-sama bersifat eksklusif. Jika Anda menambahkan nilai ke `SERVER_AUDIT_EXCL_USERS`, pastikan tidak ada nilai yang ditambahkan ke `SERVER_AUDIT_INCL_USERS`.   Pengguna `rdsadmin` membuat kueri basis data setiap detik untuk memeriksa kondisi basis data. Bergantung pada pengaturan Anda yang lain, aktivitas ini mungkin dapat menyebabkan ukuran file log Anda bertambah sangat besar dengan sangat cepat. Jika Anda tidak perlu mencatat aktivitas ini, tambahkan pengguna `rdsadmin` ke daftar `SERVER_AUDIT_EXCL_USERS`.    Aktivitas `CONNECT` selalu dicatat untuk semua pengguna meskipun pengguna ditentukan untuk pengaturan opsi ini.    | 
| `SERVER_AUDIT_LOGGING` | `ON` | `ON` |  Pencatatan aktif. Satu-satunya nilai yang valid adalah `ON`. Amazon RDS tidak mendukung penonaktifan pencatatan. Jika Anda ingin menonaktifkan pencatatan, hapus MariaDB Audit Plugin. Untuk informasi selengkapnya, lihat [Menghapus MariaDB Audit Plugin](#Appendix.MySQL.Options.AuditPlugin.Remove).   | 
| `SERVER_AUDIT_QUERY_LOG_LIMIT` | 0–2147483647 | 1024 |  Batas panjang string kueri dalam sebuah catatan.   | 

## Menambahkan MariaDB Audit Plugin
<a name="Appendix.MySQL.Options.AuditPlugin.Add"></a>

Proses umum untuk menambahkan MariaDB Audit Plugin ke instans DB adalah sebagai berikut: 
+ Buat grup opsi baru, atau salin atau ubah grup opsi yang ada
+ Tambahkan opsi ke grup opsi
+ Kaitkan grup opsi dengan instans DB

Setelah menambahkan MariaDB Audit Plugin, Anda tidak perlu memulai ulang instans DB Anda. Setelah grup opsi aktif, audit akan segera dimulai. 

**penting**  
Penambahan MariaDB Plugin Audit ke instans DB dapat menyebabkan gangguan. Sebaiknya tambahkan MariaDB Audit Plugin selama waktu pemeliharaan atau selama waktu beban kerja basis data rendah.

**Untuk menambahkan MariaDB Audit Plugin**

1. Tentukan grup opsi yang ingin Anda gunakan. Anda dapat membuat grup opsi baru atau menggunakan grup opsi yang ada. Jika Anda ingin menggunakan grup opsi yang ada, lanjutkan ke langkah berikutnya. Jika tidak, buat grup opsi DB kustom. **Pilih **mysql** untuk **Engine**, dan pilih **5.7**, **8.0, atau 8.4** **untuk versi mesin Major**.** Untuk informasi selengkapnya, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Tambahkan opsi **MARIADB\$1AUDIT\$1PLUGIN** ke grup opsi, lalu konfigurasi pengaturan opsi. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). Untuk informasi selengkapnya tentang setiap pengaturan, lihat [Pengaturan opsi Audit Plugin](#Appendix.MySQL.Options.AuditPlugin.Options). 

1. Terapkan grup opsi ke instans DB baru atau yang sudah ada. 
   + Untuk instans DB baru, Anda menerapkan grup opsi saat Anda meluncurkan instans. Untuk informasi selengkapnya, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md). 
   + Untuk instans DB yang ada, Anda menerapkan grup opsi dengan memodifikasi instans dan melampirkan grup opsi baru. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

## Format log Audit
<a name="Appendix.MySQL.Options.AuditPlugin.LogFormat"></a>

File log direpresentasikan sebagai file variabel dipisahkan koma (CSV) dalam format UTF-8.

**Tip**  
Entri file log tidak berurutan. Untuk mengurutkan entri, gunakan nilai stempel waktu. Untuk melihat peristiwa terbaru, Anda mungkin harus meninjau semua file log. Untuk fleksibilitas lebih dalam menyortir dan mencari data log, aktifkan pengaturan untuk mengunggah log audit CloudWatch dan melihatnya menggunakan CloudWatch antarmuka.  
 Untuk melihat data audit dengan lebih banyak jenis bidang dan dengan output dalam format JSON, Anda juga dapat menggunakan fitur Aliran Aktivitas Basis Data. Untuk informasi selengkapnya, lihat [Memantau Amazon RDS dengan Aliran Aktivitas Basis Data](DBActivityStreams.md). 

File log audit meliputi informasi yang dipisahkan koma berikut dalam baris, dalam urutan yang ditentukan:


| Bidang | Deskripsi | 
| --- | --- | 
|  timestamp  |  `YYYYMMDD` diikuti oleh `HH:MI:SS` (waktu 24 jam) untuk peristiwa yang dicatat.  | 
|  serverhost  |  Nama instans tempat peristiwa dicatat.  | 
|  nama pengguna  |  Nama pengguna yang terhubung dengan pengguna.  | 
|  host  |  Host yang terhubung ke pengguna.  | 
|  connectionid  |  Nomor ID koneksi untuk operasi yang dicatat.  | 
|  queryid  |  Nomor ID kueri, yang dapat digunakan untuk menemukan peristiwa tabel hubungan dan kueri terkait. Untuk peristiwa `TABLE`, beberapa baris ditambahkan.  | 
|  operation  |  Jenis tindakan yang dicatat. Kemungkinan nilainya adalah: `CONNECT`, `QUERY`, `READ`, `WRITE`, `CREATE`, `ALTER`, `RENAME`, dan `DROP`.  | 
|  database  |  Basis data aktif, yang diatur oleh perintah `USE`.  | 
|  object  |  Untuk peristiwa `QUERY`, nilai ini menunjukkan kueri yang dilakukan basis data. Untuk peristiwa `TABLE`, nilai ini menunjukkan nama tabel.  | 
|  retcode  |  Kode hasil dari operasi yang dicatat.  | 
|  connection\$1type  |  Status keamanan koneksi ke server. Kemungkinan nilainya adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html)  | 

## Melihat dan mengunduh log MariaDB Audit Plugin.
<a name="Appendix.MySQL.Options.AuditPlugin.Log"></a>

Setelah mengaktifkan MariaDB Audit Plugin, Anda dapat mengakses hasilnya di file log dengan cara yang sama seperti Anda mengakses file log berbasis teks lainnya. File log audit terletak di `/rdsdbdata/log/audit/`. Untuk informasi tentang cara melihat file log di konsol, lihat [Melihat dan mencantumkan file log basis data](USER_LogAccess.Procedural.Viewing.md). Untuk informasi tentang cara mengunduh file log, lihat [Mengunduh file log basis data](USER_LogAccess.Procedural.Downloading.md). 

## Mengubah pengaturan MariaDB Audit Plugin
<a name="Appendix.MySQL.Options.AuditPlugin.ModifySettings"></a>

Setelah mengaktifkan MariaDB Plugin Audit, Anda dapat mengubah pengaturan. Untuk informasi selengkapnya tentang cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption). Untuk informasi selengkapnya tentang setiap pengaturan, lihat [Pengaturan opsi Audit Plugin](#Appendix.MySQL.Options.AuditPlugin.Options). 

## Menghapus MariaDB Audit Plugin
<a name="Appendix.MySQL.Options.AuditPlugin.Remove"></a>

Amazon RDS tidak mendukung penonaktifan log di MariaDB Audit Plugin. Namun, Anda dapat menghapus plugin dari instans DB. Jika Anda menghapus MariaDB Audit Plugin, instans DB dimulai ulang secara otomatis untuk menghentikan audit. 

Untuk menghapus MariaDB Audit Plugin dari instans DB, lakukan salah satu hal berikut: 
+ Hapus opsi MariaDB Plugin Audit dari grup opsi yang menjadi miliknya. Perubahan ini memengaruhi semua instans DB yang menggunakan grup opsi tersebut. Untuk informasi selengkapnya, lihat [Menghapus opsi dari grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption) 
+ Ubah instans DB dan tentukan grup opsi berbeda yang tidak menyertakan plugin. Perubahan ini memengaruhi instans DB tunggal. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom yang berbeda. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

# Dukungan memcached MySQL
<a name="Appendix.MySQL.Options.memcached"></a>

Amazon RDS mendukung penggunaan antarmuka `memcached` pada tabel InnoDB yang diperkenalkan di MySQL 5.6. API `memcached` memungkinkan aplikasi menggunakan tabel InnoDB dengan cara yang serupa dengan penyimpanan data nilai kunci NoSQL.

**catatan**  
Antarmuka memcached tidak lagi tersedia di MySQL 8.4. Saat Anda meng-upgrade instans DB Anda ke MySQL 8.4, Anda harus `memcached` menonaktifkan di grup opsi yang ada.

Antarmuka `memcached` adalah cache sederhana berbasis kunci. Aplikasi menggunakan `memcached` untuk menyisipkan, memanipulasi, dan mengambil pasangan data nilai kunci dari cache. MySQL 5.6 memperkenalkan plugin yang menerapkan layanan daemon yang mengekspos data dari tabel InnoDB melalui protokol `memcached`. Untuk informasi selengkapnya tentang plugin `memcached` MySQL, lihat [InnoDB integration with memcached](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached.html).

**Untuk mengaktifkan dukungan memcached instans DB RDS for MySQL**

1. Tentukan grup keamanan yang akan digunakan untuk mengontrol akses ke antarmuka `memcached`. Jika set aplikasi yang sudah menggunakan antarmuka SQL sama dengan yang akan mengakses antarmuka `memcached`, Anda dapat menggunakan grup keamanan VPC yang sudah ada yang digunakan oleh antarmuka SQL. Jika set aplikasi yang berbeda akan mengakses antarmuka `memcached`, tentukan VPC atau grup keamanan DB baru. Untuk informasi selengkapnya tentang cara mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md) 

1. Buat grup opsi DB kustom, dengan memilih MySQL sebagai jenis dan versi mesin. Untuk informasi selengkapnya tentang cara membuat grup opsi, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).

1. Tambahkan opsi `MEMCACHED` untuk grup opsi. Tentukan port yang akan digunakan antarmuka `memcached`, dan grup keamanan yang akan digunakan untuk mengontrol akses ke antarmuka. Untuk informasi selengkapnya tentang cara menambahkan opsi, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. Ubah pengaturan opsi untuk mengonfigurasi parameter `memcached`, jika perlu. Untuk informasi selengkapnya tentang cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

1. Terapkan grup opsi ke instans. Amazon RDS memungkinkan dukungan `memcached` untuk instans tersebut ketika grup opsi diterapkan:
   + Anda mengaktifkan dukungan `memcached` untuk instans baru dengan menentukan grup opsi kustom saat Anda meluncurkan instans. Untuk informasi selengkapnya tentang cara meluncurkan instans MySQL, lihat [Membuat instans DB Amazon RDS](USER_CreateDBInstance.md).
   + Anda mengaktifkan dukungan `memcached` untuk instans yang ada dengan menentukan grup opsi kustom saat Anda memodifikasi instans. Untuk informasi selengkapnya tentang cara memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

1. Tentukan kolom mana dalam tabel MySQL Anda yang dapat diakses melalui antarmuka `memcached`. Plugin `memcached` membuat tabel katalog bernama `containers` dalam basis data khusus bernama `innodb_memcache`. Anda memasukkan baris ke tabel `containers` guna memetakan tabel InnoDB untuk akses melalui `memcached`. Anda menentukan kolom dalam tabel InnoDB yang digunakan untuk menyimpan nilai kunci `memcached`, dan satu atau lebih kolom yang digunakan untuk menyimpan nilai-nilai data yang terkait dengan kunci. Anda juga menentukan nama yang digunakan aplikasi `memcached` untuk merujuk ke set kolom tersebut. Untuk detail tentang cara menyisipkan baris ke dalam tabel `containers`, lihat [Internal plugin memcached InnoDB](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-internals.html). Untuk contoh pemetaan tabel InnoDB dan cara mengaksesnya melalui `memcached`, lihat [Writing applications for the InnoDB memcached plugin](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-developing.html).

1. Jika aplikasi yang mengakses `memcached` antarmuka berada di komputer atau EC2 instance yang berbeda dari aplikasi yang menggunakan antarmuka SQL, tambahkan informasi koneksi untuk komputer tersebut ke grup keamanan VPC yang terkait dengan instance MySQL. Untuk informasi selengkapnya tentang mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

Anda menonaktifkan dukungan `memcached` untuk instans dengan memodifikasi instans dan menentukan grup opsi default untuk versi MySQL. Untuk informasi selengkapnya tentang cara memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

## Pertimbangan keamanan memcached MySQL
<a name="w2aac47c83c15c13"></a>

Protokol `memcached` tidak mendukung autentikasi pengguna. Untuk informasi selengkapnya tentang pertimbangan keamanan `memcached` MySQL, lihat [Security Considerations for the InnoDB memcached Plugin](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-security.html) di dokumentasi MySQL.

Anda dapat mengambil tindakan berikut untuk membantu meningkatkan keamanan antarmuka `memcached`:
+ Tentukan port yang berbeda dengan default 11211 ketika menambahkan opsi `MEMCACHED` untuk grup opsi.
+ Pastikan Anda mengaitkan `memcached` antarmuka dengan grup keamanan VPC yang membatasi akses ke alamat dan instans klien yang diketahui dan EC2 tepercaya. Untuk informasi selengkapnya tentang cara mengelola grup keamanan, lihat [Mengontrol akses dengan grup keamanan](Overview.RDSSecurityGroups.md).

## Informasi koneksi memcached MySQL
<a name="w2aac47c83c15c15"></a>

Untuk mengakses antarmuka `memcached`, aplikasi harus menentukan nama DNS instans Amazon RDS dan nomor port `memcached`. Misalnya, jika suatu instans memiliki nama DNS `my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com` dan antarmuka memcached menggunakan port 11212, informasi koneksi yang ditentukan dalam PHP akan:

 

```
1. <?php
2. 
3. $cache = new Memcache;
4. $cache->connect('my-cache-instance.cg034hpkmmjt.region.rds.amazonaws.com',11212);
5. ?>
```

**Untuk menemukan nama DNS dan memcached port instans DB MySQL**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di sudut kanan atas Konsol Manajemen AWS, pilih wilayah yang berisi instans DB.

1. Di panel navigasi, pilih **Basis data**.

1. Pilih nama instans DB MySQL untuk menampilkan detailnya.

1. Di bagian **Terhubung**, perhatikan nilai bidang **Titik Akhir**. Nama DNS sama dengan titik akhir. Perhatikan juga bahwa port di bagian **Terhubung** tidak digunakan untuk mengakses antarmuka `memcached`.

1. Di bagian **Detail**, perhatikan nama yang tercantum di kolom **Grup Opsi**.

1. Di panel navigasi, pilih **Grup opsi**.

1. Pilih nama grup opsi yang digunakan oleh instans DB MySQL untuk menampilkan detail grup opsi. Di bagian **Opsi**, perhatikan nilai pengaturan **Port** untuk opsi **MEMCACHED**.

## Pengaturan opsi memcached MySQL
<a name="w2aac47c83c15c17"></a>

Amazon RDS mengekspos parameter `memcached` MySQL sebagai pengaturan opsi di opsi `MEMCACHED` Amazon RDS.

### Parameter memcached MySQL
<a name="w2aac47c83c15c17b4"></a>
+  `DAEMON_MEMCACHED_R_BATCH_SIZE` – bilangan bulat yang menentukan jumlah operasi baca `memcached` (get) yang harus dilakukan sebelum melakukan COMMIT untuk memulai transaksi baru. Nilai yang diizinkan adalah 1 hingga 4294967295 dan default-nya adalah 1. Opsi tidak berlaku sampai instans dimulai ulang.
+  `DAEMON_MEMCACHED_W_BATCH_SIZE` – bilangan bulat yang menentukan berapa banyak operasi tulis `memcached`, seperti add, set, atau incr, yang harus dilakukan sebelum melakukan COMMIT untuk memulai transaksi baru. Nilai yang diizinkan adalah 1 hingga 4294967295 dan default-nya adalah 1. Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_BK_COMMIT_INTERVAL` – bilangan bulat yang menentukan seberapa sering penerapan commit otomatis koneksi idle yang menggunakan antarmuka `memcached` InnoDB. Nilai yang diizinkan adalah 1 hingga 1073741824 dan default-nya adalah 5. Opsi akan langsung diterapkan tanpa harus memulai ulang instans.
+  `INNODB_API_DISABLE_ROWLOCK` – Boolean yang menonaktifkan (1 (true)) atau mengaktifkan (0 (false)) penggunaan kunci baris saat menggunakan antarmuka `memcached` InnoDB. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_ENABLE_MDL` – Boolean yang saat ditetapkan ke 0 (false) akan mengunci tabel yang digunakan oleh plugin `memcached` InnoDB, sehingga tidak dapat dihapus atau diubah oleh DDL melalui antarmuka SQL. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `INNODB_API_TRX_LEVEL` – bilangan bulat yang menentukan tingkat isolasi transaksi untuk kueri yang diproses oleh antarmuka `memcached`. Nilai yang diizinkan adalah 0 hingga 3. Default-nya adalah 0. Opsi tidak berlaku sampai instans dimulai ulang.

Amazon RDS mengonfigurasi parameter `memcached` MySQL berikut dan parameter ini tidak dapat dimodifikasi: `DAEMON_MEMCACHED_LIB_NAME`, `DAEMON_MEMCACHED_LIB_PATH`, dan `INNODB_API_ENABLE_BINLOG`. Parameter yang diatur administrator MySQL dengan menggunakan `daemon_memcached_options` yang tersedia sebagai pengaturan opsi `MEMCACHED` individu di Amazon RDS.

### Parameter daemon\$1memcached\$1options MySQL
<a name="w2aac47c83c15c17b6"></a>
+  `BINDING_PROTOCOL` – string yang menentukan protokol pengikatan yang akan digunakan. Nilai yang diizinkan adalah `auto`, `ascii`, atau `binary`. Default-nya adalah `auto`, yang berarti server menegosiasikan protokol secara otomatis dengan klien. Opsi tidak berlaku sampai instans dimulai ulang.
+  `BACKLOG_QUEUE_LIMIT` – bilangan bulat yang menentukan jumlah koneksi jaringan yang dapat menunggu untuk diproses oleh `memcached`. Meningkatkan batas ini dapat mengurangi kesalahan yang diterima oleh klien yang tidak dapat terhubung ke instans `memcached`, tetapi tidak meningkatkan performa server. Nilai yang diizinkan adalah 1 hingga 2048 dan default-nya adalah 1024. Opsi tidak berlaku sampai instans dimulai ulang.
+  `CAS_DISABLED` – Boolean yang mengaktifkan (1 (true)) atau menonaktifkan (0 (false)) penggunaan perbandingan dan pertukaran (CAS), yang mengurangi ukuran per item sebesar 8 byte. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `CHUNK_SIZE` – bilangan bulat yang menentukan ukuran potongan minimum, dalam byte, untuk mengalokasikan kunci, nilai, dan bendera item terkecil. Nilai yang diizinkan adalah 1 hingga 48. Default-nya adalah 48 dan Anda dapat meningkatkan efisiensi memori secara signifikan dengan nilai yang lebih rendah. Opsi tidak berlaku sampai instans dimulai ulang.
+  `CHUNK_SIZE_GROWTH_FACTOR` – bilangan desimal yang mengontrol ukuran potongan yang baru. Ukuran potongan baru adalah ukuran potongan sebelumnya dikalikan `CHUNK_SIZE_GROWTH_FACTOR`. Nilai yang diizinkan adalah 1 hingga 2, default-nya adalah 1,25. Opsi tidak berlaku sampai instans dimulai ulang.
+  `ERROR_ON_MEMORY_EXHAUSTED` – Boolean yang jika ditetapkan ke 1 (true) akan menentukan bahwa `memcached` akan menghasilkan kesalahan daripada mengosongkan item ketika tidak ada lagi memori untuk menyimpan item. Jika ditetapkan ke 0 (false), `memcached` akan mengosongkan item jika tidak ada lagi memori. Default-nya adalah 0 (false). Opsi tidak berlaku sampai instans dimulai ulang.
+  `MAX_SIMULTANEOUS_CONNECTIONS` – bilangan bulat yang menentukan jumlah maksimum koneksi serentak. Menetapkan nilai ini ke nilai di bawah 10 akan mencegah MySQL dimulai. Nilai yang diizinkan adalah 10 hingga 1024 dan default-nya adalah 1024. Opsi tidak berlaku sampai instans dimulai ulang.
+  `VERBOSITY` – string yang menentukan tingkat informasi yang dicatat dalam log kesalahan MySQL dengan layanan `memcached`. Default-nya adalah v. Opsi ini tidak berlaku hingga instans dimulai ulang. Nilai yang diizinkan adalah:
  +  `v` – Mencatat log kesalahan dan peringatan saat menjalankan loop peristiwa utama.
  +  `vv` – Selain informasi yang dicatat oleh v, nilai ini juga mencatat setiap perintah dan respons klien.
  +  `vvv` – Selain informasi yang dicatat oleh vv, nilai ini juga mencatat transisi keadaan internal.

Amazon RDS mengonfigurasi parameter `DAEMON_MEMCACHED_OPTIONS` MySQL berikut, dan bersifat tidak dapat dimodifikasi: `DAEMON_PROCESS`, `LARGE_MEMORY_PAGES`, `MAXIMUM_CORE_FILE_LIMIT`, `MAX_ITEM_SIZE`, `LOCK_DOWN_PAGE_MEMORY`, `MASK`, `IDFILE`, `REQUESTS_PER_EVENT`, `SOCKET`, dan `USER`.

# Parameter untuk My SQL
<a name="Appendix.MySQL.Parameters"></a>

Secara default, instans My SQL DB menggunakan grup parameter DB yang khusus untuk SQL database Saya. Grup parameter ini berisi parameter untuk mesin SQL database Saya. Untuk informasi tentang cara menangani grup parameter dan mengatur parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).

RDSuntuk SQL parameter Saya diatur ke nilai default dari mesin penyimpanan yang telah Anda pilih. Untuk informasi selengkapnya tentang SQL parameter Saya, lihat [SQLDokumentasi saya](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html). Untuk informasi selengkapnya tentang mesin SQL penyimpanan saya, lihat[Mesin penyimpanan yang didukung untuk RDS for MySQL](MySQL.Concepts.FeatureSupport.md#MySQL.Concepts.Storage).

Anda dapat melihat parameter yang tersedia RDS untuk SQL versi Saya tertentu menggunakan RDS konsol atau AWS CLI. Untuk informasi tentang melihat parameter dalam grup SQL parameter Saya di RDS konsol, lihat[Melihat nilai parameter untuk grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Viewing.md).

Dengan menggunakan AWS CLI, Anda dapat melihat parameter RDS untuk SQL versi Saya dengan menjalankan [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html)perintah. Tentukan salah satu dari nilai-nilai berikut untuk opsi `--db-parameter-group-family`:
+ `mysql8.4`
+ `mysql8.0`
+ `mysql5.7`

Misalnya, untuk melihat parameter RDS untuk SQL versi Saya 8.0, jalankan perintah berikut.

```
aws rds describe-engine-default-parameters --db-parameter-group-family mysql8.0
```

Output Anda akan terlihat serupa dengan yang berikut ini.

```
{
    "EngineDefaults": {
        "Parameters": [
            {
                "ParameterName": "activate_all_roles_on_login",
                "ParameterValue": "0",
                "Description": "Automatically set all granted roles as active after the user has authenticated successfully.",
                "Source": "engine-default",
                "ApplyType": "dynamic",
                "DataType": "boolean",
                "AllowedValues": "0,1",
                "IsModifiable": true
            },
            {
                "ParameterName": "allow-suspicious-udfs",
                "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "boolean",
                "AllowedValues": "0,1",
                "IsModifiable": false
            },
            {
                "ParameterName": "auto_generate_certs",
                "Description": "Controls whether the server autogenerates SSL key and certificate files in the data directory, if they do not already exist.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "boolean",
                "AllowedValues": "0,1",
                "IsModifiable": false
            },            
        ...
```

Untuk mencantumkan hanya parameter yang dapat dimodifikasi RDS untuk SQL versi Saya 8.0, jalankan perintah berikut.

Untuk Linux, macOS, atau Unix:

```
aws rds describe-engine-default-parameters --db-parameter-group-family mysql8.0 \
   --query 'EngineDefaults.Parameters[?IsModifiable==`true`]'
```

Untuk Windows:

```
aws rds describe-engine-default-parameters --db-parameter-group-family mysql8.0 ^
   --query "EngineDefaults.Parameters[?IsModifiable==`true`]"
```

# Tugas umum DBA untuk instans DB MySQL
<a name="Appendix.MySQL.CommonDBATasks"></a>

Dalam konten berikut, Anda dapat menemukan deskripsi implementasi khusus Amazon RDS dari beberapa tugas DBA umum untuk instans DB yang menjalankan mesin database MySQL. Untuk memberikan pengalaman layanan terkelola, Amazon RDS tidak memberikan akses shell ke instans DB. Selain itu, Amazon RDS juga membatasi akses ke prosedur dan tabel sistem tertentu yang memerlukan hak istimewa tingkat lanjut. 

Untuk informasi tentang cara bekerja dengan file log MySQL di Amazon RDS, lihat [File log ](USER_LogAccess.Concepts.MySQL.md).

## Memahami pengguna yang telah ditentukan
<a name="Appendix.MySQL.CommonDBATasks.users"></a>

Amazon RDS secara otomatis membuat beberapa pengguna yang telah ditentukan dengan RDS baru untuk instans MySQL DB. Pengguna yang telah ditentukan sebelumnya dan hak istimewa mereka tidak dapat diubah. Anda tidak dapat menghapus, mengganti nama, atau memodifikasi hak istimewa untuk pengguna yang telah ditentukan ini. Mencoba untuk melakukannya akan mengakibatkan kesalahan. 
+ **rdsadmin** — Pengguna yang dibuat untuk menangani banyak tugas manajemen yang administrator dengan `superuser` hak istimewa akan melakukan pada database MySQL mandiri. Pengguna ini digunakan secara internal oleh RDS untuk MySQL untuk banyak tugas manajemen. 
+ **rdsrepladmin** — Pengguna yang digunakan secara internal oleh Amazon RDS untuk mendukung aktivitas replikasi pada RDS untuk instans dan cluster MySQL DB. 

Untuk informasi tentang tugas DBA umum lainnya, lihat topik berikut.

**Topics**
+ [Memahami pengguna yang telah ditentukan](#Appendix.MySQL.CommonDBATasks.users)
+ [Model hak istimewa berbasis peran untuk My RDS SQL](Appendix.MySQL.CommonDBATasks.privilege-model.md)
+ [Hak istimewa dinamis untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.dynamic-privileges.md)
+ [Mengakhiri sesi atau kueri RDS untuk My SQL](Appendix.MySQL.CommonDBATasks.End.md)
+ [Melewatkan kesalahan replikasi saat ini untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.SkipError.md)
+ [Bekerja dengan ruang meja InnoDB untuk meningkatkan waktu pemulihan kerusakan untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.Tables.md)
+ [Mengelola Riwayat Status Global untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.GoSH.md)
+ [Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md)

# Model hak istimewa berbasis peran untuk My RDS SQL
<a name="Appendix.MySQL.CommonDBATasks.privilege-model"></a>

Dimulai dengan RDS untuk SQL versi Saya 8.0.36, Anda tidak dapat memodifikasi tabel di `mysql` database secara langsung. Secara khusus, Anda tidak dapat membuat pengguna database dengan melakukan operasi bahasa manipulasi data (DML) pada `grant` tabel. Sebagai gantinya, Anda menggunakan pernyataan SQL manajemen akun Saya seperti`CREATE USER`,`GRANT`, dan `REVOKE` untuk memberikan hak istimewa berbasis peran kepada pengguna. Anda juga tidak dapat membuat jenis objek lain seperti prosedur tersimpan dalam basis data `mysql`. Anda masih dapat mengueri tabel `mysql`. Jika Anda menggunakan replikasi log biner, perubahan yang dilakukan langsung ke `mysql` tabel pada instans DB sumber tidak direplikasi ke cluster target.

Dalam beberapa kasus, aplikasi Anda mungkin menggunakan pintasan untuk membuat pengguna atau objek lain dengan melakukan penyisipan ke dalam tabel `mysql`. Jika demikian, ubah kode aplikasi Anda untuk menggunakan pernyataan yang sesuai seperti `CREATE USER`.

Untuk mengekspor metadata bagi pengguna database selama migrasi dari SQL database Saya eksternal, gunakan salah satu metode berikut:
+ Gunakan utilitas dump instance My SQL Shell dengan filter untuk mengecualikan pengguna, peran, dan hibah. Contoh berikut menunjukkan sintaks perintah untuk digunakan. Pastikan `outputUrl` itu kosong.

  ```
  mysqlsh user@host -- util.dumpInstance(outputUrl,{excludeSchemas:['mysql'],users: true})
  ```

  Untuk informasi selengkapnya, lihat [Instance Dump Utility, Schema Dump Utility, dan Table Dump Utility](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-dump-instance-schema.html) di Manual Referensi Saya. SQL
+ Gunakan utilitas `mysqlpump` klien. Contoh ini mencakup semua tabel kecuali untuk tabel dalam database `mysql` sistem. Ini juga mencakup `CREATE USER` dan `GRANT` pernyataan untuk mereproduksi semua SQL pengguna Saya dalam database yang dimigrasi.

  ```
  mysqlpump --exclude-databases=mysql --users
  ```

  Utilitas `mysqlpump` klien tidak lagi tersedia dengan My SQL 8.4. Sebaliknya, gunakan `mysqldump`.

Untuk menyederhanakan pengelolaan izin bagi banyak pengguna atau aplikasi, Anda dapat menggunakan pernyataan `CREATE ROLE` untuk membuat peran yang memiliki serangkaian izin. Kemudian, Anda dapat menggunakan pernyataan `GRANT` dan `SET ROLE` serta fungsi `current_role` untuk menetapkan peran ke pengguna atau aplikasi, mengganti peran saat ini, dan memeriksa peran mana yang berlaku. Untuk informasi selengkapnya tentang sistem izin berbasis peran di My SQL 8.0, lihat [Menggunakan Peran](https://dev.mysql.com/doc/refman/8.0/en/roles.html) di Manual Referensi SayaSQL.

**penting**  
Kami sangat menyarankan agar Anda tidak menggunakan pengguna master secara langsung di aplikasi Anda. Sebagai gantinya, ikuti praktik terbaik menggunakan pengguna basis data yang dibuat dengan hak akses paling rendah yang diperlukan untuk aplikasi Anda.

Dimulai dengan versi 8.0.36, RDS untuk My SQL termasuk peran khusus yang memiliki semua hak istimewa berikut. Peran ini bernama `rds_superuser_role`. Pengguna administratif utama untuk setiap instans DB sudah memiliki peran ini diberikan. Peran `rds_superuser_role` mencakup hak akses berikut untuk semua objek basis data:
+  `ALTER` 
+  `APPLICATION_PASSWORD_ADMIN` 
+  `ALTER ROUTINE` 
+  `CREATE` 
+  `CREATE ROLE` 
+  `CREATE ROUTINE` 
+  `CREATE TEMPORARY TABLES` 
+  `CREATE USER` 
+  `CREATE VIEW` 
+  `DELETE` 
+  `DROP` 
+  `DROP ROLE` 
+  `EVENT` 
+  `EXECUTE` 
+  `INDEX` 
+  `INSERT` 
+  `LOCK TABLES` 
+  `PROCESS` 
+  `REFERENCES` 
+  `RELOAD` 
+  `REPLICATION CLIENT` 
+  `REPLICATION SLAVE` 
+  `ROLE_ADMIN` 
+  `SET_USER_ID` 
+  `SELECT` 
+  `SHOW DATABASES` 
+  `SHOW VIEW` 
+  `TRIGGER` 
+  `UPDATE` 
+  `XA_RECOVER_ADMIN`

 Definisi peran juga mencakup `WITH GRANT OPTION` sehingga pengguna administratif dapat memberikan peran tersebut kepada pengguna lain. Secara khusus, administrator harus memberikan hak istimewa apa pun yang diperlukan untuk melakukan replikasi log biner dengan SQL klaster Saya sebagai target.

**Tip**  
 Untuk melihat detail lengkap izin, gunakan pernyataan berikut.  

```
SHOW GRANTS FOR rds_superuser_role@'%';
```

 Saat Anda memberikan akses dengan menggunakan peran RDS untuk SQL versi Saya 8.0.36 dan yang lebih tinggi, Anda juga mengaktifkan peran dengan menggunakan pernyataan `SET ROLE role_name` atau`SET ROLE ALL`. Contoh berikut menunjukkan caranya. Ganti nama peran yang sesuai untuk `CUSTOM_ROLE`.

```
# Grant role to user
mysql> GRANT CUSTOM_ROLE TO 'user'@'domain-or-ip-address'

# Check the current roles for your user. In this case, the CUSTOM_ROLE role has not been activated.
# Only the rds_superuser_role is currently in effect.
mysql> SELECT CURRENT_ROLE();
+--------------------------+
| CURRENT_ROLE()           |
+--------------------------+
| `rds_superuser_role`@`%` |
+--------------------------+
1 row in set (0.00 sec)

# Activate all roles associated with this user using SET ROLE.
# You can activate specific roles or all roles.
# In this case, the user only has 2 roles, so we specify ALL.
mysql> SET ROLE ALL;
Query OK, 0 rows affected (0.00 sec)

# Verify role is now active
mysql> SELECT CURRENT_ROLE();
+--------------------------------------------------+
| CURRENT_ROLE()                                   |
+--------------------------------------------------+
| `CUSTOM_ROLE`@`%`,`rds_superuser_role`@`%` |
+--------------------------------------------------+
```

# Hak istimewa dinamis untuk RDS untuk MySQL
<a name="Appendix.MySQL.CommonDBATasks.dynamic-privileges"></a>

Hak istimewa dinamis adalah hak istimewa MySQL yang dapat Anda berikan secara eksplisit dengan menggunakan pernyataan tersebut. `GRANT` Bergantung pada versi RDS untuk MySQL Anda, RDS memungkinkan Anda untuk memberikan hanya hak istimewa dinamis tertentu. RDS melarang beberapa hak istimewa ini karena dapat mengganggu operasi database tertentu, seperti replikasi dan pencadangan.

Tabel berikut menunjukkan hak istimewa mana yang dapat Anda berikan untuk versi MySQL yang berbeda. Jika Anda memutakhirkan dari versi MySQL yang lebih rendah dari 8.0.36 ke versi 8.0.36 atau lebih tinggi, Anda mungkin harus memperbarui kode aplikasi Anda jika pemberian hak istimewa tertentu tidak lagi diizinkan.


| Keistimewaan | MySQL 8.0.35 dan lebih rendah | MySQL 8.0.36 dan versi minor yang lebih tinggi | MySQL 8.4.3 dan lebih tinggi | 
| --- | --- | --- | --- | 
|  [ALLOW\$1NONEXISTENT\$1DEFINER](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_allow-nonexistent-definer)   |  Tidak tersedia  |  Tidak tersedia  |  Dilarang  | 
|  [APPLICATION\$1PASSWORD\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_application-password-admin)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [AUDIT\$1ABORT\$1EXEMPT](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_audit-abort-exempt)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [AUDIT\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_audit-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [OTENTIKASI\$1POLICY\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_authentication-policy-admin)  |  Diizinkan  |  Dilarang  | Dilarang | 
|  [BACKUP\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_backup-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [BINLOG\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_binlog-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [BINLOG\$1ENCRYPTION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_binlog-encryption-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [KLONE\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_clone-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [CONNECTION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_connection-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [ENCRYPTION\$1KEY\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_encryption-key-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [FIREWALL\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_firewall-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [FIREWALL\$1EXEMPT](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_firewall-exempt)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [FIREWALL\$1PENGGUNA](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_firewall-user)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [FLUSH\$1OPTIMIZER\$1COSTS](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_flush-optimizer-costs)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [FLUSH\$1PRIVILEGES](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_flush-privileges)  |  Tidak tersedia  |  Tidak tersedia  |  Diizinkan  | 
|  [FLUSH\$1STATUS](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_flush-status)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [FLUSH\$1TABLES](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_flush-tables)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [FLUSH\$1USER\$1RESOURCES](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_flush-user-resources)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [GROUP\$1REPLICATION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_group-replication-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [GROUP\$1REPLICATION\$1STREAM](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_group-replication-stream)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [INNODB\$1REDO\$1LOG\$1ARCHIVE](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_innodb-redo-log-archive)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [INNODB\$1REDO\$1LOG\$1ENABLE](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_innodb-redo-log-enable)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [MASKING\$1DICTIONARIES\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_masking-dictionaries-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [NDB\$1STORED\$1USER](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_ndb-stored-user)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [OPTIMIZE\$1LOCAL\$1TABLE](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_optimize-local-table)  |  Tidak tersedia  |  Tidak tersedia  |  Dilarang  | 
|  [PASSWORDLESS\$1USER\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_passwordless-user-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [PERSIST\$1RO\$1VARIABLES\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_persist-ro-variables-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [REPLIKASI\$1APPLIER](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_replication-applier)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [REPLIKASI\$1SLAVE\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_replication-slave-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [SUMBER DAYA\$1GROUP\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_resource-group-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [RESOURCE\$1GROUP\$1USER](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_resource-group-user)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [PERAN\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_role-admin)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [SENSITIVE\$1VARIABLES\$1OBSERVER](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_sensitive-variables-observer)  |  Diizinkan  |  Diizinkan  | Diizinkan | 
|  [SERVICE\$1CONNECTION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_service-connection-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [SESSION\$1VARIABLES\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_session-variables-admin)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [SET\$1ANY\$1DEFINIER](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_set-any-definer)  |  Tidak tersedia  |  Tidak tersedia  |  Diizinkan  | 
|  [SET\$1USER\$1ID](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_set-user-id)  |  Diizinkan  |  Diizinkan  |  Tidak tersedia  | 
|  [SHOW\$1RUTINITAS](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_show-routine)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 
|  [SKIP\$1QUERY\$1REWRITE](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_skip-query-rewrite)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [SYSTEM\$1USER](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_system-user)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [SYSTEM\$1VARIABLES\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_system-variables-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [TABLE\$1ENCRYPTION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_table-encryption-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [TELEMETRY\$1LOG\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_telemetry-log-admin)  |  Diizinkan  |  Dilarang  |  Dilarang  | 
|  [TP\$1CONNECTION\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_tp-connection-admin)  |  Dilarang  |  Dilarang  | Dilarang | 
|  [TRANSAKSI\$1GTID\$1TAG](https://dev.mysql.com/doc/refman/8.4/en/privileges-provided.html#priv_transaction-gtid-tag)   |  Tidak tersedia  |  Tidak tersedia  | Dilarang | 
|  [VERSI\$1TOKEN\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_version-token-admin)  |  Dilarang  |  Dilarang  |  Dilarang  | 
|  [XA\$1RECOVER\$1ADMIN](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_xa-recover-admin)  |  Diizinkan  |  Diizinkan  |  Diizinkan  | 

# Mengakhiri sesi atau kueri RDS untuk My SQL
<a name="Appendix.MySQL.CommonDBATasks.End"></a>

Anda dapat mengakhiri sesi atau kueri pengguna di instans DB dengan menggunakan perintah `rds_kill` dan `rds_kill_query`. Pertama sambungkan ke instans My SQL DB Anda, lalu keluarkan perintah yang sesuai seperti yang ditunjukkan berikut. Untuk informasi selengkapnya, lihat [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md). 

```
CALL mysql.rds_kill(thread-ID)
CALL mysql.rds_kill_query(thread-ID)
```

Misalnya, untuk mengakhiri sesi yang berjalan di thread 99, ketikkan hal berikut: 

```
CALL mysql.rds_kill(99); 
```

Untuk mengakhiri kueri yang sedang berjalan pada thread 99, ketikkan hal berikut: 

```
CALL mysql.rds_kill_query(99); 
```

# Melewatkan kesalahan replikasi saat ini untuk RDS untuk MySQL
<a name="Appendix.MySQL.CommonDBATasks.SkipError"></a>

Anda dapat melewati kesalahan pada replika baca jika kesalahan tersebut menyebabkan replika baca Anda berhenti merespons dan kesalahan tersebut tidak memengaruhi integritas data Anda. 

**catatan**  
Pertama, pastikan bahwa kesalahan tersebut dapat dilewati dengan aman. Di utilitas MySQL, hubungkan ke replika baca dan jalankan perintah MySQL berikut:   

```
SHOW REPLICA STATUS\G 
```
Untuk informasi tentang nilai yang dikembalikan, lihat [dokumentasi MySQL](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html).  
Versi MySQL sebelumnya menggunakan `SHOW SLAVE STATUS`, bukan `SHOW REPLICA STATUS`. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan `SHOW SLAVE STATUS`. 

Anda dapat melewati kesalahan pada replika baca dengan cara berikut.

**Topics**
+ [Memanggil prosedur mysql.rds\$1skip\$1repl\$1error](#Appendix.MySQL.CommonDBATasks.SkipError.procedure)
+ [Mengatur parameter slave\$1skip\$1errors](#Appendix.MySQL.CommonDBATasks.SkipError.parameter)

## Memanggil prosedur mysql.rds\$1skip\$1repl\$1error
<a name="Appendix.MySQL.CommonDBATasks.SkipError.procedure"></a>

Amazon RDS menyediakan prosedur tersimpan yang dapat Anda panggil untuk melewati kesalahan pada replika baca Anda. Pertama, hubungkan ke replika baca Anda, lalu jalankan perintah yang sesuai seperti yang ditunjukkan berikut ini. Untuk informasi selengkapnya, lihat [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md). 

 Untuk melewati kesalahan, jalankan perintah berikut.

```
CALL mysql.rds_skip_repl_error; 
```

Perintah ini tidak berpengaruh jika Anda menjalankannya di instans DB sumber, atau di replika baca yang belum mengalami kesalahan replikasi. 

Untuk informasi selengkapnya, seperti versi MySQL yang mendukung `mysql.rds_skip_repl_error`, lihat [mysql.rds\$1skip\$1repl\$1error](mysql-stored-proc-replicating.md#mysql_rds_skip_repl_error). 

**penting**  
Jika Anda mencoba untuk memanggil `mysql.rds_skip_repl_error` dan menemukan kesalahan berikut: `ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist`, tingkatkan instans DB MySQL Anda ke versi minor terbaru atau salah satu versi minor minimum yang tercantum dalam [mysql.rds\$1skip\$1repl\$1error](mysql-stored-proc-replicating.md#mysql_rds_skip_repl_error).

## Mengatur parameter slave\$1skip\$1errors
<a name="Appendix.MySQL.CommonDBATasks.SkipError.parameter"></a>

Untuk melewati satu atau beberapa kesalahan, Anda dapat mengatur parameter `slave_skip_errors` statis pada replika baca. Anda dapat mengatur parameter ini untuk melewati satu atau beberapa kode kesalahan replikasi spesifik. Saat ini, Anda dapat mengatur parameter ini hanya untuk instans DB RDS for MySQL 5.7. Setelah Anda mengubah pengaturan untuk parameter ini, pastikan untuk melakukan boot ulang instans DB Anda agar pengaturan baru dapat diterapkan. Untuk informasi tentang cara mengatur parameter ini, lihat [dokumentasi MySQL](https://dev.mysql.com/doc/refman/5.7/en/replication-options-replica.html#sysvar_slave_skip_errors).

Sebaiknya atur parameter ini dalam grup parameter DB terpisah. Anda dapat mengaitkan grup parameter DB ini hanya dengan replika baca yang perlu melewati kesalahan. Mengikuti praktik terbaik ini akan mengurangi potensi dampak pada instans DB dan replica baca lainnya.

**penting**  
Mengatur nilai nondefault untuk parameter ini dapat menyebabkan inkonsistensi replikasi. Atur parameter ini ke nilai nondefault hanya jika Anda tidak memiliki opsi lain untuk menyelesaikan masalah dan Anda yakin bahwa akan ada potensi dampak pada data replika baca Anda.

# Bekerja dengan ruang meja InnoDB untuk meningkatkan waktu pemulihan kerusakan untuk RDS untuk MySQL
<a name="Appendix.MySQL.CommonDBATasks.Tables"></a>

Setiap tabel di MySQL terdiri dari definisi, data, dan indeks tabel. Mesin penyimpanan InnoDB MySQL menyimpan data dan indeks tabel di *tablespace*. InnoDB membuat tablespace bersama global yang berisi kamus data dan metadata relevan lainnya, serta dapat berisi data dan indeks tabel. InnoDB juga dapat membuat tablespace terpisah untuk setiap tabel dan partisi. Tablespace terpisah ini disimpan dalam file berekstensi .ibd dan judul setiap tablespace berisi nomor pengidentifikasi unik. 

Amazon RDS menyediakan parameter dalam grup parameter MySQL yang disebut `innodb_file_per_table`. Parameter ini mengontrol apakah InnoDB menambahkan data dan indeks tabel baru ke tablespace bersama (dengan menetapkan nilai parameter ke 0) atau ke tablespace terpisah (dengan menetapkan nilai parameter ke 1). Amazon RDS menetapkan nilai default untuk parameter `innodb_file_per_table` ke 1, yang memungkinkan Anda meletakkan tabel InnoDB terpisah dan mengklaim ulang penyimpanan yang digunakan oleh tabel tersebut untuk instans DB. Biasanya, penetapan parameter `innodb_file_per_table` ke 1 adalah pengaturan yang direkomendasikan.

Anda harus menetapkan parameter `innodb_file_per_table` ke 0 ketika Anda memiliki tabel dalam jumlah besar. Misalnya, Anda memiliki lebih dari 1.000 tabel saat menggunakan penyimpanan SSD standar (magnetik) atau SSD umum atau lebih dari 10.000 tabel saat Anda menggunakan penyimpanan IOPS yang Tersedia. Saat Anda menetapkan parameter ini ke 0, tablespace terpisah tidak dibuat dan hal ini dapat meningkatkan waktu yang diperlukan untuk pemulihan crash basis data. 

MySQL memproses setiap file metadata, yang mencakup tablespace, selama siklus pemulihan crash. Waktu yang diperlukan oleh MySQL untuk memproses informasi metadata di tablespace bersama dapat diabaikan, dibandingkan dengan waktu yang diperlukan untuk memproses ribuan file tablespace ketika ada beberapa tablespace. Karena nomor tablespace disimpan di judul setiap file, waktu gabungan untuk membaca semua file tablespace tersebut bisa mencapai beberapa jam. Misalnya, pemrosesan sejuta tablespace InnoDB pada penyimpanan standar selama siklus pemulihan crash dapat memakan waktu mulai lima hingga delapan jam. Dalam beberapa kasus, InnoDB dapat menentukan apakah pembersihan tambahan diperlukan setelah siklus pemulihan crash selesai sehingga siklus pemulihan crash akan dimulai lagi. Hal ini akan memperpanjang waktu pemulihan. Perlu diperhatikan bahwa siklus pemulihan crash juga melibatkan transaksi rolling back, perbaikan halaman yang rusak, dan operasi lain selain pemrosesan informasi tablespace. 

Karena parameter `innodb_file_per_table` berada di grup parameter, Anda dapat mengubah nilai parameter dengan mengedit grup parameter yang digunakan oleh instans DB Anda tanpa perlu melakukan boot ulang instans DB. Setelah pengaturan diubah, misalnya, dari 1 (buat tabel terpisah) ke 0 (gunakan tablespace bersama), tabel InnoDB baru akan ditambahkan ke tablespace bersama sedangkan tabel yang ada tetap memiliki tablespace terpisah. Untuk memindahkan tabel InnoDB ke tablespace bersama, Anda harus menggunakan perintah `ALTER TABLE`.

## Memigrasikan beberapa tablespace ke tablespace bersama
<a name="Appendix.MySQL.CommonDBATasks.MigrateMultiTbs"></a>

Anda dapat memindahkan metadata tabel InnoDB dari tablespace-nya ke tablespace bersama. Hal ini akan membuat ulang metadata tabel sesuai dengan pengaturan parameter `innodb_file_per_table`. Pertama, hubungkan ke instans MySQL DB Anda, lalu jalankan perintah yang sesuai seperti yang ditunjukkan berikut. Untuk informasi selengkapnya, lihat [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md). 

```
ALTER TABLE table_name ENGINE = InnoDB, ALGORITHM=COPY; 
```

Misalnya, kueri berikut mengembalikan pernyataan `ALTER TABLE` untuk setiap tabel InnoDB yang tidak ada di tablespace bersama.

**Untuk instans DB MySQL 5.7:**

```
SELECT CONCAT('ALTER TABLE `', 
REPLACE(LEFT(NAME , INSTR((NAME), '/') - 1), '`', '``'), '`.`', 
REPLACE(SUBSTR(NAME FROM INSTR(NAME, '/') + 1), '`', '``'), '` ENGINE=InnoDB, ALGORITHM=COPY;') AS Query 
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES 
WHERE SPACE <> 0 AND LEFT(NAME, INSTR((NAME), '/') - 1) NOT IN ('mysql','');
```

**Untuk instans MySQL 8.4 dan 8.0 DB:**

```
SELECT CONCAT('ALTER TABLE `', 
REPLACE(LEFT(NAME , INSTR((NAME), '/') - 1), '`', '``'), '`.`', 
REPLACE(SUBSTR(NAME FROM INSTR(NAME, '/') + 1), '`', '``'), '` ENGINE=InnoDB, ALGORITHM=COPY;') AS Query 
FROM INFORMATION_SCHEMA.INNODB_TABLES 
WHERE SPACE <> 0 AND LEFT(NAME, INSTR((NAME), '/') - 1) NOT IN ('mysql','');
```

Pembuatan ulang tabel MySQL untuk memindahkan metadata tabel tersebut ke tablespace bersama memerlukan ruang penyimpanan tambahan sementara guna membuat ulang tabel. Jadi, instans DB harus memiliki ruang penyimpanan yang tersedia. Selama pembuatan ulang, tabel dikunci dan tidak dapat diakses oleh kueri. Untuk tabel kecil atau tabel yang jarang diakses, hal ini mungkin tidak menjadi masalah. Untuk tabel besar atau tabel yang sering diakses dalam lingkungan yang sangat serentak, Anda dapat membuat ulang tabel pada replika baca. 

Anda dapat membuat replika baca dan memigrasi metadata tabel ke tablespace bersama pada replika baca. Meskipun pernyataan ALTER TABLE memblokir akses pada replika baca, instans DB sumber tidak terpengaruh. Instans DB sumber akan terus membuat log binernya, sementara replika baca mengalami lag selama proses pembuatan ulang tabel. Karena pembuatan ulang ini memerlukan ruang penyimpanan tambahan dan file log pemutaran ulang bisa menjadi besar, Anda harus membuat replika baca dengan alokasi penyimpanan yang lebih besar dari instans DB sumber.

Guna membuat replika baca dan membuat ulang InnoDB untuk menggunakan tablespace bersama, lakukan langkah-langkah berikut:

1. Pastikan retensi cadangan diaktifkan di instans DB sumber sehingga pencatatan biner diaktifkan. 

1. Gunakan Konsol Manajemen AWS atau AWS CLI untuk membuat replika baca untuk instance DB sumber. Karena pembuatan replika baca melibatkan banyak proses yang sama seperti pemulihan crash, proses pembuatannya dapat memakan waktu lama jika ada tablespace InnoDB dalam jumlah besar. Alokasikan lebih banyak ruang penyimpanan pada replika baca dibandingkan dengan yang saat ini digunakan pada instans DB sumber.

1. Setelah replika baca dibuat, buat grup parameter dengan pengaturan parameter `read_only = 0` dan `innodb_file_per_table = 0`. Kemudian hubungkan grup parameter dengan replika baca. 

1. Terbitkan pernyataan SQL berikut untuk semua tabel yang ingin Anda migrasikan pada replika:

   ```
   ALTER TABLE name ENGINE = InnoDB
   ```

1. Saat semua pernyataan `ALTER TABLE` Anda pada replika baca selesai, pastikan bahwa replika baca tersebut telah terhubung ke instans DB sumber dan bahwa kedua instans tersebut sudah sinkron. 

1. Gunakan konsol atau CLI untuk mempromosikan replika baca sebagai instans. Pastikan grup parameter yang digunakan untuk instans DB mandiri baru telah menetapkan parameter `innodb_file_per_table` ke 0. Ubah nama instans DB mandiri baru, lalu arahkan aplikasi apa pun ke instans DB mandiri baru. 

# Mengelola Riwayat Status Global untuk RDS untuk MySQL
<a name="Appendix.MySQL.CommonDBATasks.GoSH"></a>

**Tip**  
Untuk menganalisis performa basis data, Anda juga dapat menggunakan Wawasan Performa di Amazon RDS. Untuk informasi selengkapnya, lihat [Memantau muatan DB dengan Wawasan Performa di Amazon RDS](USER_PerfInsights.md).

MySQL mempertahankan banyak variabel status yang memberikan informasi tentang operasinya. Nilai variabel tersebut dapat membantu Anda mendeteksi masalah penguncian atau memori pada instans DB. Nilai variabel status ini bersifat kumulatif sejak instans DB dimulai terakhir kali. Anda dapat menetapkan ulang sebagian besar variabel status ke 0 dengan menggunakan perintah `FLUSH STATUS`. 

Agar dapat memantau nilai ini dari waktu ke waktu, Amazon RDS menyediakan serangkaian prosedur yang akan mengambil snapshot nilai-nilai variabel status ini dari waktu ke waktu dan menuliskannya ke tabel, beserta perubahan apa pun yang dibuat sejak snapshot terakhir. Infrastruktur ini, yang disebut Global Status History (GoSH), diinstal di seluruh instans DB MySQL mulai versi 5.5.23. GoSH dinonaktifkan secara default. 

Untuk mengaktifkan GoSH, aktifkan penjadwal peristiwa terlebih dahulu dari grup parameter DB dengan menetapkan parameter `event_scheduler` ke `ON`. Untuk instans DB MySQL yang menjalankan MySQL 5.7, tetapkan juga parameter `show_compatibility_56` ke `1`. Untuk informasi tentang cara membuat dan memodifikasi grup parameter DB, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). Untuk informasi tentang dampak dari pengaktifan parameter ini, lihat [show\$1compatibility\$156](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_show_compatibility_56) di *Panduan Referensi MySQL 5.7*.

Anda kemudian dapat menggunakan prosedur dalam tabel berikut untuk mengaktifkan dan mengonfigurasi GoSH. Pertama, hubungkan ke instans DB MySQL Anda, lalu jalankan perintah yang sesuai seperti yang ditunjukkan berikut. Untuk informasi selengkapnya, lihat [Menghubungkan ke instans MySQL DB Anda](USER_ConnectToInstance.md). Untuk setiap prosedur, jalankan perintah berikut dan ganti **procedure-name**: 

```
CALL procedure-name; 
```

Tabel berikut mencantumkan semua prosedur yang dapat Anda gunakan untuk **procedure-name**perintah sebelumnya.


| Prosedur | Deskripsi | 
| --- | --- | 
| `mysql.rds_enable_gsh_collector` |  Mengaktifkan GoSH untuk mengambil snapshot default pada interval yang ditentukan oleh `rds_set_gsh_collector`.   | 
| `mysql.rds_set_gsh_collector` |  Menentukan interval, dalam menit, antara snapshot. Nilai default-nya adalah 5.   | 
| `mysql.rds_disable_gsh_collector` |  Menonaktifkan snapshot.   | 
| `mysql.rds_collect_global_status_history` |  Mengambil snapshot sesuai permintaan.   | 
| `mysql.rds_enable_gsh_rotation` |  Mengaktifkan rotasi konten tabel `mysql.rds_global_status_history` ke `mysql.rds_global_status_history_old` pada interval yang ditentukan oleh `rds_set_gsh_rotation`.   | 
| `mysql.rds_set_gsh_rotation` |  Menentukan interval, dalam hari, antara rotasi tabel. Nilai default-nya adalah 7.   | 
| `mysql.rds_disable_gsh_rotation` |  Menonaktifkan rotasi tabel.   | 
| `mysql.rds_rotate_global_status_history` |  Merotasi konten tabel `mysql.rds_global_status_history` ke `mysql.rds_global_status_history_old` sesuai permintaan.   | 

Saat GoSH berjalan, Anda dapat mengueri tabel tujuan penulisannya. Misalnya, untuk mengueri rasio hit kumpulan buffer Innodb, Anda dapat menjalankan kueri berikut: 

```
select a.collection_end, a.collection_start, (( a.variable_Delta-b.variable_delta)/a.variable_delta)*100 as "HitRatio" 
    from mysql.rds_global_status_history as a join mysql.rds_global_status_history as b on a.collection_end = b.collection_end
    where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads'
```

# Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4
<a name="Appendix.MySQL.CommonDBATasks.Config.Size.8.4"></a>

Di MySQL 8.4, Amazon RDS mengaktifkan parameter secara default. `innodb_dedicated_server` Dengan `innodb_dedicated_server` parameter, mesin database menghitung `innodb_buffer_pool_size` dan `innodb_redo_log_capacity` parameter. Untuk informasi tentang bagaimana parameter ini dihitung, lihat [Mengonfigurasi Ukuran Kolam Buffer InnoDB](https://dev.mysql.com/doc/refman/8.4/en/innodb-buffer-pool-resize.html) [dan Redo Log](https://dev.mysql.com/doc/refman/8.4/en/innodb-redo-log.html) dalam dokumentasi MySQL.

Dengan `innodb_dedicated_server` diaktifkan, `innodb_buffer_pool_size` parameter dihitung berdasarkan memori kelas instans DB. Tabel berikut menunjukkan memori server terdeteksi dan ukuran kolam buffer yang sesuai.


| Memori server yang terdeteksi | Ukuran kolam penyangga | 
| --- | --- | 
|  < 1 GB  |  Nilai default 128 MB  | 
|  1 GB hingga 4 GB  |  *Detected server memory*\$1 0,5  | 
|  > 4 GB  |  *Detected server memory*\$1 0,75  | 

`innodb_redo_log_capacity`Parameter secara otomatis menskalakan dengan kelas instance ke (jumlah CPUs v/ 2) GB hingga maksimum 16 GB. Kelas instans yang lebih besar memiliki kapasitas redo log yang lebih besar, yang dapat meningkatkan kinerja dan ketahanan untuk beban kerja intensif penulisan. 

Sebelum memutakhirkan dari MySQL 8.0 ke MySQL 8.4, pastikan untuk menambah ruang penyimpanan Anda untuk mengakomodasi potensi peningkatan ukuran redo log yang mungkin terjadi setelah upgrade selesai. Untuk informasi selengkapnya, lihat [Meningkatkan kapasitas penyimpanan instans DB](USER_PIOPS.ModifyingExisting.md).

Jika Anda tidak ingin `innodb_dedicated_server` parameter menghitung nilai untuk `innodb_redo_log_capacity` parameter `innodb_buffer_pool_size` dan, Anda dapat mengganti nilai ini dengan menetapkan nilai tertentu untuk mereka dalam grup parameter kustom. Atau, Anda dapat menonaktifkan `innodb_dedicated_server` parameter dan menetapkan nilai untuk `innodb_buffer_pool_size` dan `innodb_redo_log_capacity` parameter dalam grup parameter kustom. Untuk informasi selengkapnya, lihat [Grup parameter kustom dan default](parameter-groups-overview.md#parameter-groups-overview.custom).

Jika Anda menonaktifkan `innodb_dedicated_server` parameter dengan menyetelnya ke `0` dan tidak menetapkan nilai untuk `innodb_redo_log_capacity` parameter `innodb_buffer_pool_size` dan, maka Amazon RDS menetapkan dua parameter terakhir menjadi 128 MB dan 100 MB, masing-masing. Default ini mengakibatkan kinerja yang buruk pada kelas instance yang lebih besar.

# Zona waktu lokal untuk instans My SQL DB
<a name="MySQL.Concepts.LocalTimeZone"></a>

Secara default, zona waktu untuk instans My SQL DB adalah Universal Time Coordinated (UTC). Anda dapat mengatur zona waktu untuk instans basis data Anda ke zona waktu lokal untuk aplikasi Anda. 

Untuk mengatur zona waktu lokal untuk instans DB, atur parameter `time_zone` di grup parameter untuk instans DB Anda ke salah satu nilai yang didukung yang dicantumkan nanti di bagian ini. Saat Anda mengatur parameter `time_zone` untuk grup parameter, semua instans DB dan replika baca yang menggunakan grup parameter tersebut berubah untuk menggunakan zona waktu lokal baru. Untuk informasi tentang pengaturan parameter di grup parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

Setelah Anda mengatur zona waktu lokal, semua koneksi baru ke basis data mencerminkan perubahan tersebut. Jika Anda memiliki koneksi terbuka ke basis data Anda ketika mengubah zona waktu lokal, Anda tidak akan melihat pembaruan zona waktu lokal sampai Anda menutup koneksi dan membuka koneksi baru. 

Anda dapat mengatur zona waktu lokal yang berbeda untuk instans DB dan satu atau beberapa replika baca. Untuk melakukannya, gunakan grup parameter yang berbeda untuk instans DB dan replika dan atur parameter `time_zone` di dalam setiap grup parameter ke zona waktu lokal yang berbeda. 

Jika Anda mereplikasi Wilayah AWS, maka instance DB sumber dan replika baca menggunakan grup parameter yang berbeda (grup parameter unik untuk an Wilayah AWS). Untuk menggunakan zona waktu lokal yang sama untuk setiap instans, Anda harus mengatur parameter `time_zone` di dalam grup parameter instans dan replika baca. 

Saat Anda memulihkan instans DB dari snapshot DB, zona waktu lokal diatur keUTC. Anda dapat memperbarui zona waktu ke zona waktu lokal Anda setelah pemulihan selesai. Jika Anda memulihkan instans DB ke titik waktu tertentu, zona waktu lokal untuk instans DB yang dipulihkan adalah pengaturan zona waktu dari grup parameter instans DB yang dipulihkan. 

Internet Assigned Numbers Authority (IANA) menerbitkan zona waktu baru di [https://www.iana.org/time-zones](https://www.iana.org/time-zones) beberapa kali setahun. Setiap kali RDS merilis rilis pemeliharaan kecil baru dari MySQL, ia dikirimkan dengan data zona waktu terbaru pada saat rilis. Saat Anda menggunakan versi terbaru RDS untuk SQL versi Saya, Anda memiliki data zona waktu terbaru dariRDS. Untuk memastikan bahwa instans basis data Anda memiliki data zona waktu terbaru, sebaiknya mutakhirkan ke versi mesin basis data yang lebih tinggi. Atau, Anda dapat mengubah secara manual tabel zona waktu dalam instans basis data MariaDB. Untuk melakukannya, Anda dapat menggunakan SQL perintah atau menjalankan alat [mysql\$1tzinfo\$1to\$1sql](https://dev.mysql.com/doc/refman/8.0/en/mysql-tzinfo-to-sql.html) di klien. SQL Setelah memperbarui data zona waktu secara manual, reboot instans DB Anda sehingga perubahan berlaku. RDStidak memodifikasi atau mengatur ulang data zona waktu menjalankan instance DB. Data zona waktu baru diinstal hanya ketika Anda melakukan pemutakhiran versi mesin basis data.

Anda dapat mengatur zona waktu lokal Anda menjadi salah satu dari nilai-nilai berikut ini.


| Zona | Zona waktu | 
| --- | --- | 
|  Afrika  |  Africa/Cairo, Africa/Casablanca, Africa/Harare, Africa/Monrovia, Africa/Nairobi, Africa/Tripoli, Africa/Windhoek  | 
|  Amerika  |  America/Araguaina, America/Asuncion, America/Bogota, America/Buenos\$1Aires, America/Caracas, America/Chihuahua, America/Cuiaba, America/Denver, America/Fortaleza, America/Guatemala, America/Halifax, America/Manaus, America/Matamoros, America/Monterrey, America/Montevideo, America/Phoenix, America/Santiago, America/Tijuana  | 
|  Asia  |  Asia/Amman, Asia/Ashgabat, Asia/Baghdad, Asia/Baku, Asia/Bangkok, Asia/Beirut, Asia/Calcutta, Asia/Damascus, Asia/Dhaka, Asia/Irkutsk, Asia/Jerusalem, Asia/Kabul, Asia/Karachi, Asia/Kathmandu, Asia/Krasnoyarsk, Asia/Magadan, Asia/Muscat, Asia/Novosibirsk, Asia/Riyadh, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Taipei, Asia/Tehran, Asia/Tokyo, Asia/Ulaanbaatar, Asia/Vladivostok, Asia/Yakutsk, Asia/Yerevan  | 
|  Atlantik  |  Atlantik/Azores  | 
|  Australia  |  Australia/Adelaide, Australia/Brisbane, Australia/Darwin, Australia/Hobart, Australia/Perth, Australia/Sydney  | 
|  Brazil  |  Brazil/DeNoronha, Brazil/East  | 
|  Kanada  |  Canada/Newfoundland, Canada/Saskatchewan, Canda/Yukon  | 
|  Eropa  |  Europe/Amsterdam, Europe/Athens, Europe/Dublin, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad Europe/Moscow, Europe/Paris, Europe/Prague, Europe/Sarajevo  | 
|  Pasifik  |  Pacific/Auckland, Pacific/Fiji, Pacific/Guam, Pacific/Honolulu, Pacific/Samoa  | 
|  AS  |  US/Alaska, US/Central, US/East-Indiana, US/Eastern, US/Pacific  | 
|  UTC  |  UTC  | 

# Masalah umum dan batasan untuk Amazon RDS for MySQL
<a name="MySQL.KnownIssuesAndLimitations"></a>

Berikut ini adalah masalah umum dan batasan untuk menggunakan Amazon RDS for MySQL.

**Topics**
+ [Kata yang dicadangkan InnoDB](#MySQL.Concepts.KnownIssuesAndLimitations.InnodbDatabaseName)
+ [Perilaku penyimpanan penuh untuk Amazon RDS for MySQL](#MySQL.Concepts.StorageFullBehavior)
+ [Ukuran pool buffer InnoDB tidak konsisten](#MySQL.Concepts.KnownIssuesAndLimitations.InnodbBufferPoolSize)
+ [Pengoptimalan penggabungan indeks memberikan hasil yang salah](#MySQL.Concepts.KnownIssuesAndLimitations.IndexMergeOptimization)
+ [Pengecualian parameter MySQL untuk instans DB Amazon RDS](#MySQL.Concepts.ParameterNotes)
+ [Batas ukuran file MySQL di Amazon RDS](#MySQL.Concepts.Limits.FileSize)
+ [Plugin Keyring MySQL tidak didukung](#MySQL.Concepts.Limits.KeyRing)
+ [Port kustom](#MySQL.Concepts.KnownIssuesAndLimitations.CustomPorts)
+ [Batasan prosedur tersimpan MySQL](#MySQL.Concepts.KnownIssuesAndLimitations.KillProcedures)
+ [Replikasi berbasis GTID dengan instans sumber eksternal](#MySQL.Concepts.KnownIssuesAndLimitations.GTID)
+ [Plugin otentikasi default MySQL](#MySQL.Concepts.KnownIssuesAndLimitations.authentication-plugin)
+ [Mengesampingkan innodb\$1buffer\$1pool\$1size](#MySQL.Concepts.KnownIssuesAndLimitations.innodb-bp-size)
+ [Upgrade dari MySQL 5.7 ke MySQL 8.4](#MySQL.Concepts.KnownIssuesAndLimitations.upgrade-8-4)
+ [Kompresi halaman InnoDB](#MySQL.Concepts.KnownIssuesAndLimitations.innodb-page-compression)

## Kata yang dicadangkan InnoDB
<a name="MySQL.Concepts.KnownIssuesAndLimitations.InnodbDatabaseName"></a>

`InnoDB` adalah kata yang dicadangkan untuk RDS for MySQL. Anda tidak dapat menggunakan nama ini untuk basis data MySQL.

## Perilaku penyimpanan penuh untuk Amazon RDS for MySQL
<a name="MySQL.Concepts.StorageFullBehavior"></a>

Ketika penyimpanan menjadi penuh untuk instans DB MySQL, terkadang akan ada inkonsistensi metadata, ketidaksesuaian kamus, dan tabel orphan. Untuk mencegah masalah ini, Amazon RDS secara otomatis menghentikan instans DB yang mencapai status `storage-full`.

Instans DB MySQL mencapai status `storage-full` dalam kasus berikut:
+ Instans DB memiliki penyimpanan kurang dari 20.000 MiB, dan penyimpanan yang tersedia mencapai 200 MiB atau kurang.
+ Instans DB memiliki penyimpanan lebih dari 102.400 MiB, dan penyimpanan yang tersedia mencapai 1024 MiB atau kurang.
+ Instans DB memiliki penyimpanan antara 20.000 MiB dan 102.400 MiB, dan memiliki kurang dari 1% dari penyimpanan yang tersedia.

Setelah Amazon RDS menghentikan instans DB secara otomatis karena mencapai status `storage-full`, Anda masih dapat memodifikasinya. Untuk memulai ulang instans DB, selesaikan setidaknya salah satu hal berikut:
+ Modifikasi instans DB untuk mengaktifkan penskalaan otomatis penyimpanan.

  Untuk informasi selengkapnya tentang penskalaan otomatis penyimpanan, lihat [Mengelola kapasitas secara otomatis dengan penskalaan otomatis penyimpanan Amazon RDS](USER_PIOPS.Autoscaling.md).
+ Modifikasi instans DB untuk meningkatkan kapasitas penyimpanan.

  Untuk informasi selengkapnya tentang peningkatan kapasitas penyimpanan, lihat [Meningkatkan kapasitas penyimpanan instans DB](USER_PIOPS.ModifyingExisting.md).

Setelah Anda melakukan salah satu perubahan ini, instans DB dimulai ulang secara otomatis. Untuk informasi tentang memodifikasi instans DB, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

## Ukuran pool buffer InnoDB tidak konsisten
<a name="MySQL.Concepts.KnownIssuesAndLimitations.InnodbBufferPoolSize"></a>

Untuk MySQL 5.7, saat ini terdapat bug dalam cara pengelolaan ukuran pool buffer. MySQL 5.7 mungkin menyesuaikan nilai parameter `innodb_buffer_pool_size` ke nilai yang besar yang dapat mengakibatkan pool buffer InnoDB tumbuh terlalu besar dan menggunakan terlalu banyak memori. Efek ini dapat menyebabkan mesin basis data MySQL berhenti berjalan atau dapat mencegahnya untuk menyala. Masalah ini lebih umum untuk kelas instans DB yang memiliki memori lebih sedikit.

Untuk mengatasi masalah ini, tetapkan nilai parameter `innodb_buffer_pool_size` ke beberapa produk nilai parameter `innodb_buffer_pool_instances` dan nilai parameter `innodb_buffer_pool_chunk_size`. Misalnya, Anda dapat mengatur nilai parameter `innodb_buffer_pool_size` ke beberapa kali delapan kali lipat produk nilai parameter `innodb_buffer_pool_instances` dan `innodb_buffer_pool_chunk_size`, seperti yang ditunjukkan dalam contoh berikut.

```
innodb_buffer_pool_chunk_size = 536870912
innodb_buffer_pool_instances = 4
innodb_buffer_pool_size = (536870912 * 4) * 8 = 17179869184
```

[Untuk detail tentang bug MySQL 5.7 ini, lihat /bug.php? https://bugs.mysql.com id=79379 dalam dokumentasi MySQL](https://bugs.mysql.com/bug.php?id=79379). 

## Pengoptimalan penggabungan indeks memberikan hasil yang salah
<a name="MySQL.Concepts.KnownIssuesAndLimitations.IndexMergeOptimization"></a>

Kueri yang menggunakan pengoptimalan gabungan indeks mungkin mengembalikan hasil yang salah karena bug di pengoptimal kueri MySQL yang diperkenalkan di MySQL 5.5.37. Saat Anda mengeluarkan kueri terhadap tabel dengan beberapa indeks, pengoptimal memindai rentang baris berdasarkan beberapa indeks, tetapi tidak menggabungkan hasil bersama-sama dengan benar. Untuk informasi selengkapnya tentang bug pengoptimal kueri, lihat [http://bugs.mysql.com/bug.php?id=72745](https://bugs.mysql.com/bug.php?id=72745) dan [http://bugs.mysql.com/bug.php?id=68194](https://bugs.mysql.com/bug.php?id=68194) di basis data bug MySQL. 

Misalnya, pertimbangkan kueri pada tabel dengan dua indeks di mana argumen pencarian mereferensikan kolom yang diindeks. 

```
1. SELECT * FROM table1
2. WHERE indexed_col1 = 'value1' AND indexed_col2 = 'value2';
```

Dalam kasus ini, mesin pencari akan mencari kedua indeks. Namun, karena bug, hasil gabungan tidak benar. 

Untuk mengatasi masalah ini, Anda dapat melakukan salah satu dari yang berikut: 
+ Tetapkan parameter `optimizer_switch` ke `index_merge=off` di grup parameter DB untuk instans DB MySQL Anda. Untuk informasi tentang pengaturan parameter grup parameter DB, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).
+ Tingkatkan instans DB MySQL Anda ke MySQL versi 5.7 atau 8.0. Untuk informasi selengkapnya, lihat [Upgrade RDS untuk mesin MySQL DB](USER_UpgradeDBInstance.MySQL.md). 
+ Jika Anda tidak dapat meningkatkan instans Anda atau mengubah parameter `optimizer_switch`, Anda dapat mengatasi bug dengan mengidentifikasi indeks untuk kueri secara eksplisit, misalnya: 

  ```
  1. SELECT * FROM table1
  2. USE INDEX covering_index
  3. WHERE indexed_col1 = 'value1' AND indexed_col2 = 'value2';
  ```

Untuk informasi selengkapnya, lihat [Index merge optimization](https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html) dalam dokumentasi MySQL. 

## Pengecualian parameter MySQL untuk instans DB Amazon RDS
<a name="MySQL.Concepts.ParameterNotes"></a>

Beberapa parameter MySQL memerlukan pertimbangan khusus saat digunakan dengan instans DB Amazon RDS.

### lower\$1case\$1table\$1names
<a name="MySQL.Concepts.ParameterNotes.lower-case-table-names"></a>

Karena Amazon RDS menggunakan sistem file yang peka huruf besar/kecil, pengaturan nilai parameter server `lower_case_table_names` menjadi 2 (nama disimpan seperti yang diberikan tetapi dibandingkan dalam huruf kecil) tidak didukung. Berikut adalah nilai yang didukung untuk instans DB Amazon RDS for MySQL:
+ 0 (nama yang disimpan seperti yang diberikan dan perbandingan peka terhadap huruf besar-kecil) didukung untuk semua versi RDS for MySQL.
+ 1 (nama yang disimpan dalam huruf kecil dan perbandingan tidak peka huruf besar/kecil) didukung untuk RDS untuk MySQL versi 5.7, versi 8.0.28 dan versi 8.0 yang lebih tinggi, dan versi 8.4.

Atur parameter `lower_case_table_names` di dalam grup parameter DB kustom sebelum membuat instans DB. Kemudian, tentukan grup parameter DB kustom ketika Anda membuat instans DB.

Ketika grup parameter dikaitkan dengan instans DB MySQL dengan versi di bawah 8.0, kami sarankan Anda tidak mengubah parameter `lower_case_table_names` di dalam grup parameter. Mengubahnya dapat menyebabkan ketidakkonsistenan dengan cadangan point-in-time pemulihan dan membaca instance replika DB.

Ketika grup parameter dikaitkan dengan instance MySQL DB versi 8.0 atau 8.4, Anda tidak dapat memodifikasi parameter dalam `lower_case_table_names` grup parameter.

Replika baca harus selalu menggunakan nilai parameter `lower_case_table_names` yang sama dengan instans DB sumber. 

### long\$1query\$1time
<a name="MySQL.Concepts.ParameterNotes.long_query_time"></a>

Anda dapat menyetel parameter `long_query_time` ke nilai titik mengambang sehingga Anda dapat mencatatkan kueri lambat ke log kueri lambat MySQL dengan resolusi mikrodetik. Anda dapat mengatur nilai seperti 0,1 detik, yang akan menjadi 100 milidetik, untuk memudahkan debugging transaksi lambat yang membutuhkan waktu kurang dari satu detik. 

## Batas ukuran file MySQL di Amazon RDS
<a name="MySQL.Concepts.Limits.FileSize"></a>

Untuk MySQL versi 8.0 dan instans DB yang lebih tinggi, ukuran file maksimum adalah 16 TiB. Saat menggunakan file-per-table tablespaces, ukuran file maksimum membatasi ukuran tabel InnoDB hingga 16 TiB. file-per-tableRuang tabel InnoDB (dengan tabel masing-masing di tablespace mereka sendiri) diatur secara default untuk instance MySQL DB. Untuk informasi selengkapnya, lihat [Batas InnoDB dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/innodb-limits.html) MySQL.

**catatan**  
Beberapa instans DB yang ada memiliki batas yang lebih rendah. Misalnya, instans DB MySQL yang dibuat sebelum April 2014 memiliki batas ukuran file dan tabel 2 TB. Batas ukuran file 2 TB ini juga berlaku untuk instans DB atau replika baca yang dibuat dari snapshot DB yang diambil sebelum April 2014, terlepas dari kapan instans DB dibuat.

Ada keuntungan dan kerugian untuk menggunakan InnoDB file-per-table tablespaces, tergantung pada aplikasi Anda. Untuk menentukan pendekatan terbaik untuk aplikasi Anda, lihat [File-per-table tablespace dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/innodb-file-per-table-tablespaces.html) MySQL. 

Kami tidak menyarankan Anda membiarkan tabel berkembang hingga ukuran file maksimum. Secara umum, praktik yang lebih baik adalah membagi data menjadi tabel yang lebih kecil, yang dapat meningkatkan waktu performa dan pemulihan. 

Salah satu opsi yang dapat Anda gunakan untuk memecah tabel ke dalam tabel yang lebih kecil adalah partisi. Partisi mendistribusikan porsi tabel besar ke dalam file terpisah berdasarkan aturan yang Anda tentukan. Misalnya, jika menyimpan transaksi berdasarkan tanggal, Anda dapat membuat aturan partisi yang mendistribusikan transaksi lama ke dalam file terpisah menggunakan partisi. Kemudian, Anda secara berkala dapat mengarsipkan data transaksi historis yang tidak diperlukan aplikasi Anda. Untuk informasi selengkapnya, lihat [Partitioning](https://dev.mysql.com/doc/refman/8.0/en/partitioning.html) dalam dokumentasi MySQL. 

Karena tidak ada tabel sistem atau tampilan tunggal yang menyediakan ukuran semua tabel dan ruang tabel sistem InnoDB, Anda harus mengueri beberapa tabel untuk menentukan ukuran ruang tabelnya.

**Untuk menentukan ukuran ruang tabel sistem InnoDB dan ruang tabel kamus data**
+ Gunakan perintah SQL berikut untuk menentukan apakah ada ruang tabel Anda yang terlalu besar dan merupakan kandidat untuk partisi. 
**catatan**  
Ruang tabel kamus data khusus untuk MySQL 8.0 dan versi yang lebih tinggi.

  ```
  1. select FILE_NAME,TABLESPACE_NAME, ROUND(((TOTAL_EXTENTS*EXTENT_SIZE)
  2. /1024/1024/1024), 2)  as "File Size (GB)" from information_schema.FILES
  3. where tablespace_name in ('mysql','innodb_system');
  ```

**Untuk menentukan ukuran tabel pengguna InnoDB di luar ruang tabel sistem InnoDB (untuk versi MySQL 5.7)**
+ Gunakan perintah SQL berikut untuk menentukan apakah salah satu tabel Anda terlalu besar dan merupakan kandidat untuk partisi.

  ```
  1. SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2)
  2. as "Tablespace Size (GB)"
  3. FROM information_schema.INNODB_SYS_TABLESPACES ORDER BY 3 DESC;
  ```

**Untuk menentukan ukuran tabel pengguna InnoDB di luar tablespace sistem InnoDB (untuk MySQL 8.0 dan versi yang lebih tinggi)**
+ Gunakan perintah SQL berikut untuk menentukan apakah salah satu tabel Anda terlalu besar dan merupakan kandidat untuk partisi.

  ```
  1. SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2)
  2. as "Tablespace Size (GB)"
  3. FROM information_schema.INNODB_TABLESPACES ORDER BY 3 DESC;
  ```

**Untuk menentukan ukuran tabel pengguna non-InnoDB**
+ Gunakan perintah SQL berikut untuk menentukan apakah ada tabel pengguna non-InnoDB Anda yang terlalu besar.

  ```
  SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH+DATA_FREE)
  / 1024 / 1024/ 1024), 2) As "Approximate size (GB)" FROM information_schema.TABLES
  WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema')
  and ENGINE<>'InnoDB';
  ```

**Untuk mengaktifkan ruang meja file-per-table InnoDB**
+ Setel parameter *innodb\$1file\$1per\$1table* ke `1` di dalam grup parameter untuk instans DB. 

**Untuk menonaktifkan ruang meja file-per-table InnoDB**
+ Setel parameter *innodb\$1file\$1per\$1table* ke `0` di dalam grup parameter untuk instans DB.

Untuk informasi tentang pembaruan grup parameter, lihat [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md). 

Bila Anda telah mengaktifkan atau menonaktifkan file-per-table ruang tabel InnoDB, Anda dapat mengeluarkan `ALTER TABLE` perintah untuk memindahkan tabel dari tablespace global ke tablespace sendiri, atau dari tablespace sendiri ke tablespace global seperti yang ditunjukkan pada contoh berikut: 

```
ALTER TABLE table_name TABLESPACE=innodb_file_per_table;
```

## Plugin Keyring MySQL tidak didukung
<a name="MySQL.Concepts.Limits.KeyRing"></a>

Saat ini, Amazon RDS for MySQL tidak mendukung Plugin Keyring Amazon Web Services `keyring_aws` MySQL.

## Port kustom
<a name="MySQL.Concepts.KnownIssuesAndLimitations.CustomPorts"></a>

Amazon RDS memblokir koneksi ke port kustom 33060 untuk mesin MySQL. Pilih port yang berbeda untuk mesin MySQL Anda.

## Batasan prosedur tersimpan MySQL
<a name="MySQL.Concepts.KnownIssuesAndLimitations.KillProcedures"></a>

Prosedur tersimpan [mysql.rds\$1kill](mysql-stored-proc-ending.md#mysql_rds_kill) dan [mysql.rds\$1kill\$1query](mysql-stored-proc-ending.md#mysql_rds_kill_query) tidak dapat mengakhiri sesi atau kueri yang dimiliki oleh pengguna MySQL dengan nama pengguna lebih dari 16 karakter pada versi RDS for MySQL berikut:
+ 8.0.32 dan versi 8 yang lebih rendah
+ 5.7.41 dan versi 5.7 yang lebih rendah

## Replikasi berbasis GTID dengan instans sumber eksternal
<a name="MySQL.Concepts.KnownIssuesAndLimitations.GTID"></a>

Amazon RDS mendukung replikasi berdasarkan pengidentifikasi transaksi global (GTIDs) dari instance MySQL eksternal ke instans Amazon RDS for MySQL DB yang memerlukan pengaturan GTID\$1PURGED selama konfigurasi. Namun, hanya RDS untuk MySQL 8.0.37 dan versi yang lebih tinggi yang mendukung fungsi ini.

## Plugin otentikasi default MySQL
<a name="MySQL.Concepts.KnownIssuesAndLimitations.authentication-plugin"></a>

RDS untuk MySQL versi 8.0.34 dan versi 8.0 yang lebih tinggi menggunakan plugin. `mysql_native_password` Anda tidak dapat mengubah pengaturan `default_authentication_plugin`.

RDS untuk MySQL versi 8.4 dan versi yang lebih tinggi menggunakan plugin sebagai plugin otentikasi `caching_sha2_password` default. Anda dapat mengubah plugin otentikasi default untuk MySQL 8.4. `mysql_native_password`Plugin ini masih bekerja dengan MySQL 8.4, tetapi dukungan plugin ini berakhir dengan MySQL 8.4. Untuk mengubah plugin otentikasi default, buat grup parameter khusus dan ubah nilai `authentication_policy` parameter. Untuk informasi selengkapnya, lihat [Grup parameter kustom dan default](parameter-groups-overview.md#parameter-groups-overview.custom). 

## Mengesampingkan innodb\$1buffer\$1pool\$1size
<a name="MySQL.Concepts.KnownIssuesAndLimitations.innodb-bp-size"></a>

Dengan kelas instans DB mikro atau kecil, nilai default untuk `innodb_buffer_pool_size` parameter mungkin berbeda dari nilai yang dikembalikan dengan menjalankan perintah berikut: 

```
mysql> SELECT @@innodb_buffer_pool_size;
```

Perbedaan ini dapat terjadi ketika Amazon RDS perlu mengganti nilai default sebagai bagian dari pengelolaan kelas instans DB. Jika perlu, Anda dapat mengganti nilai default dan mengaturnya ke nilai yang didukung oleh kelas instans DB Anda. Untuk menentukan nilai yang valid, tambahkan penggunaan memori dan total memori yang tersedia pada instans DB Anda. Untuk informasi selengkapnya, lihat [jenis instans Amazon RDS](https://aws.amazon.com/rds/instance-types/).

Jika instans DB Anda hanya memiliki 4 GB memori, Anda tidak dapat mengatur `innodb_buffer_pool_size` ke 8 GB tetapi Anda mungkin dapat mengaturnya ke 3 GB, tergantung pada berapa banyak memori yang Anda alokasikan untuk parameter lain.

Jika nilai yang Anda masukkan terlalu besar, Amazon RDS menurunkan nilainya ke batas berikut:
+ Kelas instans DB mikro: 256 MB
+ db.t4g.micro kelas instans DB: 128 MB

## Upgrade dari MySQL 5.7 ke MySQL 8.4
<a name="MySQL.Concepts.KnownIssuesAndLimitations.upgrade-8-4"></a>

Anda tidak dapat meng-upgrade langsung dari MySQL 5.7 ke MySQL 8.4. Anda harus terlebih dahulu meng-upgrade dari MySQL 5.7 ke MySQL 8.0, dan kemudian upgrade dari MySQL 8.0 ke MySQL 8.4. Untuk informasi selengkapnya, lihat [Upgrade versi utama untuk RDS untuk MySQL](USER_UpgradeDBInstance.MySQL.Major.md).

## Kompresi halaman InnoDB
<a name="MySQL.Concepts.KnownIssuesAndLimitations.innodb-page-compression"></a>

Kompresi halaman InnoDB tidak berfungsi dengan instans Amazon RDS DB yang memiliki ukuran blok sistem file 16k karena ukuran blok sistem file harus lebih kecil dari ukuran halaman InnoDB. Mulai Februari 2024, semua instans DB yang baru dibuat memiliki ukuran blok sistem file 16k, yang meningkatkan throughput dan mengurangi konsumsi IOPS selama pembilasan halaman.

# RDSuntuk referensi prosedur SQL tersimpan saya
<a name="Appendix.MySQL.SQLRef"></a>

Topik ini menjelaskan prosedur tersimpan sistem yang tersedia untuk RDS instans Amazon yang menjalankan mesin My SQL DB. Pengguna utama harus menjalankan prosedur ini.

**Topics**
+ [Mengumpulkan dan memelihara Sejarah Status Global](mysql-stored-proc-gsh.md)
+ [Mengkonfigurasi, memulai, dan menghentikan replikasi log biner (binlog)](mysql-stored-proc-replicating.md)
+ [Mengakhiri sesi atau kueri](mysql-stored-proc-ending.md)
+ [Mengelola klaster aktif-aktif](mysql-stored-proc-active-active-clusters.md)
+ [Mengelola replikasi multi-sumber](mysql-stored-proc-multi-source-replication.md)
+ [Mereplikasi transaksi menggunakan GTIDs](mysql-stored-proc-gtid.md)
+ [Memutar log kueri](mysql-stored-proc-logging.md)
+ [Mengatur dan menampilkan konfigurasi log biner](mysql-stored-proc-configuring.md)
+ [Pemanasan cache InnoDB](mysql-stored-proc-warming.md)

# Mengumpulkan dan memelihara Sejarah Status Global
<a name="mysql-stored-proc-gsh"></a>

Amazon RDS menyediakan serangkaian prosedur yang mengambil snapshot dari nilai variabel status dari waktu ke waktu dan menuliskannya ke tabel, bersama dengan perubahan apa pun sejak snapshot terakhir. Infrastruktur ini disebut Global Status History. Untuk informasi selengkapnya, lihat [Mengelola Riwayat Status Global untuk RDS untuk MySQL](Appendix.MySQL.CommonDBATasks.GoSH.md).

Prosedur tersimpan berikut mengelola bagaimana Global Status History dikumpulkan dan dipelihara.

**Topics**
+ [mysql.rds\$1collect\$1global\$1status\$1history](#mysql_rds_collect_global_status_history)
+ [mysql.rds\$1disable\$1gsh\$1collector](#mysql_rds_disable_gsh_collector)
+ [mysql.rds\$1disable\$1gsh\$1rotation](#mysql_rds_disable_gsh_rotation)
+ [mysql.rds\$1enable\$1gsh\$1collector](#mysql_rds_enable_gsh_collector)
+ [mysql.rds\$1enable\$1gsh\$1rotation](#mysql_rds_enable_gsh_rotation)
+ [mysql.rds\$1rotate\$1global\$1status\$1history](#mysql_rds_rotate_global_status_history)
+ [mysql.rds\$1set\$1gsh\$1collector](#mysql_rds_set_gsh_collector)
+ [mysql.rds\$1set\$1gsh\$1rotation](#mysql_rds_set_gsh_rotation)

## mysql.rds\$1collect\$1global\$1status\$1history
<a name="mysql_rds_collect_global_status_history"></a>

Mengambil snapshot sesuai permintaan untuk Global Status History.

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

 

```
CALL mysql.rds_collect_global_status_history;
```

## mysql.rds\$1disable\$1gsh\$1collector
<a name="mysql_rds_disable_gsh_collector"></a>

Menonaktifkan snapshot yang diambil oleh Global Status History.

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

 

```
CALL mysql.rds_disable_gsh_collector;
```

## mysql.rds\$1disable\$1gsh\$1rotation
<a name="mysql_rds_disable_gsh_rotation"></a>

Menonaktifkan rotasi tabel `mysql.global_status_history`.

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

 

```
CALL mysql.rds_disable_gsh_rotation;
```

## mysql.rds\$1enable\$1gsh\$1collector
<a name="mysql_rds_enable_gsh_collector"></a>

Mengaktifkan Global Status History untuk mengambil snapshot default pada interval yang ditentukan oleh `rds_set_gsh_collector`.

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

 

```
CALL mysql.rds_enable_gsh_collector;
```

## mysql.rds\$1enable\$1gsh\$1rotation
<a name="mysql_rds_enable_gsh_rotation"></a>

Mengaktifkan rotasi konten tabel `mysql.global_status_history` ke `mysql.global_status_history_old` pada interval yang ditentukan oleh `rds_set_gsh_rotation`.

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

 

```
CALL mysql.rds_enable_gsh_rotation;
```

## mysql.rds\$1rotate\$1global\$1status\$1history
<a name="mysql_rds_rotate_global_status_history"></a>

Merotasi konten tabel `mysql.global_status_history` ke `mysql.global_status_history_old` sesuai permintaan.

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

 

```
CALL mysql.rds_rotate_global_status_history;
```

## mysql.rds\$1set\$1gsh\$1collector
<a name="mysql_rds_set_gsh_collector"></a>

Menentukan interval, dalam menit, di antara snapshot yang diambil oleh Global Status History.

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

 

```
CALL mysql.rds_set_gsh_collector(intervalPeriod);
```

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

 *intervalPeriod*   
Interval, dalam menit, di antara snapshot. Nilai default-nya adalah `5`.

## mysql.rds\$1set\$1gsh\$1rotation
<a name="mysql_rds_set_gsh_rotation"></a>

Menentukan interval, dalam hari, antara rotasi tabel `mysql.global_status_history`.

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

 

```
CALL mysql.rds_set_gsh_rotation(intervalPeriod);
```

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

 *intervalPeriod*   
Interval, dalam hari, di antara rotasi tabel. Nilai default-nya adalah `7`.

# Mengkonfigurasi, memulai, dan menghentikan replikasi log biner (binlog)
<a name="mysql-stored-proc-replicating"></a>

Prosedur tersimpan berikut mengontrol bagaimana transaksi direplikasi dari basis data eksternal ke dalam RDS for MySQL, atau dari RDS for MySQL ke basis data eksternal.

Saat menggunakan prosedur tersimpan ini untuk mengelola replikasi dengan pengguna replikasi yang dikonfigurasi`caching_sha2_password`, Anda harus mengonfigurasi TLS dengan menentukan. `SOURCE_SSL=1` `caching_sha2_password`adalah plugin otentikasi default untuk RDS untuk MySQL 8.4 Untuk informasi lebih lanjut, lihat. [Mengenkripsi dengan SSL/TLS](mysql-ssl-connections.md)

Untuk informasi tentang mengonfigurasi, menggunakan, dan mengelola replika baca, lihat. [Menggunakan replika baca MySQL](USER_MySQL.Replication.ReadReplicas.md) 

**Topics**
+ [](#mysql_rds_next_master_log)
+ [](#mysql_rds_next_source_log)
+ [](#mysql_rds_reset_external_master)
+ [](#mysql_rds_reset_external_source)
+ [](#mysql_rds_set_external_master)
+ [](#mysql_rds_set_external_source)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (RDS untuk MySQL versi utama 8.0 dan lebih rendah)](#mysql_rds_set_external_master_with_auto_position)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](#mysql_rds_set_external_source_with_auto_position)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](#mysql_rds_set_external_master_with_delay)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1delay (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](#mysql_rds_set_external_source_with_delay)
+ [mysql.rds\$1set\$1external\$1source\$1gtid\$1purged](#mysql_rds_set_external_source_gtid_purged)
+ [](#mysql_rds_set_master_auto_position)
+ [](#mysql_rds_set_source_auto_position)
+ [mysql.rds\$1set\$1source\$1delay](#mysql_rds_set_source_delay)
+ [mysql.rds\$1skip\$1repl\$1error](#mysql_rds_skip_repl_error)
+ [mysql.rds\$1start\$1replication](#mysql_rds_start_replication)
+ [](#mysql_rds_start_replication_until)
+ [mysql.rds\$1stop\$1replication](#mysql_rds_stop_replication)

## 
<a name="mysql_rds_next_master_log"></a>

Mengubah posisi log instans basis data sumber menjadi awal log biner berikutnya pada instans basis data sumber. Gunakan prosedur ini hanya jika Anda menerima I/O kesalahan replikasi 1236 pada replika baca.

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

 

```
CALL mysql.rds_next_master_log(
curr_master_log
);
```

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

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_next_master_log`. 

**Awas**  
Panggil `mysql.rds_next_master_log` hanya jika replikasi gagal setelah failover instans DB multi-AZ yang merupakan sumber replikasi, dan `Last_IO_Errno` bidang laporan kesalahan 1236. `SHOW REPLICA STATUS` I/O   
Memanggil `mysql.rds_next_master_log` ​​dapat mengakibatkan hilangnya data di replika baca jika transaksi dalam instans sumber tidak ditulis ke log biner di disk sebelum peristiwa failover terjadi. Anda dapat mengurangi kemungkinan hal ini terjadi dengan menyetel parameter instance sumber `sync_binlog` dan `innodb_support_xa` ke`1`, meskipun ini dapat mengurangi kinerja. Untuk informasi selengkapnya, lihat [Memecahkan masalah replika SQL baca saya](USER_ReadRepl.Troubleshooting.md).

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

Asumsikan replikasi gagal pada replika baca RDS for MySQL. Menjalankan `SHOW REPLICA STATUS\G` pada replika baca akan menampilkan hasil berikut:

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Master: NULL
Source_SSL_Verify_Server_Cert: No
                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:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

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

```
CALL mysql.rds_next_master_log(12345);
```

## 
<a name="mysql_rds_next_source_log"></a>

Mengubah posisi log instans basis data sumber menjadi awal log biner berikutnya pada instans basis data sumber. Gunakan prosedur ini hanya jika Anda menerima I/O kesalahan replikasi 1236 pada replika baca.

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

 

```
CALL mysql.rds_next_source_log(
curr_source_log
);
```

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

 *curr\$1source\$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` dan lihat kolom `Source_Log_File`.

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_next_source_log`. 

**Awas**  
Panggil `mysql.rds_next_source_log` hanya jika replikasi gagal setelah failover instans DB multi-AZ yang merupakan sumber replikasi, dan `Last_IO_Errno` bidang laporan kesalahan 1236. `SHOW REPLICA STATUS` I/O   
Memanggil `mysql.rds_next_source_log` ​​dapat mengakibatkan hilangnya data di replika baca jika transaksi dalam instans sumber tidak ditulis ke log biner di disk sebelum peristiwa failover terjadi. Anda dapat mengurangi kemungkinan hal ini terjadi dengan menyetel parameter instance sumber `sync_binlog` dan `innodb_support_xa` ke`1`, meskipun ini dapat mengurangi kinerja. Untuk informasi selengkapnya, lihat [Memecahkan masalah replika SQL baca saya](USER_ReadRepl.Troubleshooting.md).

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

Asumsikan replikasi gagal pada replika baca RDS for MySQL. Menjalankan `SHOW REPLICA STATUS\G` pada replika baca akan menampilkan hasil berikut:

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Source: NULL
Source_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source 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:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

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 memanggil `mysql.rds_next_source_log` dengan parameter berikut:

```
CALL mysql.rds_next_source_log(12345);
```

## 
<a name="mysql_rds_reset_external_master"></a>

Mengonfigurasi ulang instans DB RDS for MySQL agar tidak lagi menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**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).

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

 

```
CALL mysql.rds_reset_external_master;
```

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

Pengguna utama harus menjalankan prosedur `mysql.rds_reset_external_master`. Prosedur ini harus dijalankan pada instans DB MySQL agar dihapus sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Untuk informasi selengkapnya tentang cara menggunakan replikasi untuk mengimpor data dari instans MySQL yang berjalan di luar Amazon RDS, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

## 
<a name="mysql_rds_reset_external_source"></a>

Mengonfigurasi ulang instans DB RDS for MySQL agar tidak lagi menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**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).

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

 

```
CALL mysql.rds_reset_external_source;
```

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_reset_external_source`. Prosedur ini harus dijalankan pada instans DB MySQL agar dihapus sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS.   
Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md). Untuk informasi selengkapnya tentang menggunakan replikasi untuk mengimpor data dari instans MySQL yang berjalan di luar Amazon RDS, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

## 
<a name="mysql_rds_set_external_master"></a>

Mengonfigurasi instans DB RDS for MySQL agar tidak lagi menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**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 bisa menggunakan prosedur tersimpan [mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](#mysql_rds_set_external_master_with_delay) untuk mengonfigurasi instans basis data sumber eksternal dan replikasi tertunda.

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

 

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

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

 *host\$1name*   
Nama host atau alamat IP instans MySQL yang berjalan di luar Amazon RDS untuk menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada instans basis data 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 MASTER STATUS` pada instans basis data sumber.

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_master`. Prosedur ini harus dijalankan pada instans DB MySQL untuk dikonfigurasi sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS. 

Sebelum menjalankan `mysql.rds_set_external_master`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai `replication_user_name` dan `replication_user_password` yang menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans eksternal MySQL. 

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.

   **MySQL 5.7**

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

   **MySQL 8.0**

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY 'password';
   ```
**catatan**  
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.

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

   **MySQL 5.7**

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```

   **MySQL 8.0**

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

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

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Setelah memanggil `mysql.rds_set_external_master` ​​untuk mengonfigurasi instans DB Amazon RDS sebagai replika baca, Anda dapat memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca untuk memulai proses replikasi. Anda dapat memanggil [](#mysql_rds_reset_external_master) ​​untuk menghapus konfigurasi replika baca.

Saat `mysql.rds_set_external_master` dipanggil, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

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

Ketika dijalankan pada instans DB MySQL, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

```
call mysql.rds_set_external_master(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## 
<a name="mysql_rds_set_external_source"></a>

Mengonfigurasi instans DB RDS for MySQL agar tidak lagi menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS.

**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).

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

 

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

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

 *host\$1name*   
Nama host atau alamat IP instans MySQL yang berjalan di luar Amazon RDS untuk menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada instans basis data 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 MASTER STATUS` pada instans basis data sumber.

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 0 menentukan untuk tidak menggunakan enkripsi. Standarnya adalah 0.  
Opsi `SOURCE_SSL_VERIFY_SERVER_CERT` tidak didukung. Opsi ini diatur ke 0, yang berarti koneksi dienkripsi, tetapi sertifikat tidak diverifikasi.

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_set_external_source`. Prosedur ini harus dijalankan pada DB dikonfigurasi sebagai replika baca instance MySQL yang berjalan di luar Amazon RDS. 

 Sebelum menjalankan `mysql.rds_set_external_source`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai `replication_user_name` dan `replication_user_password` yang menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans eksternal MySQL.

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut sebuah contoh.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```
**catatan**  
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.

1. Pada instans eksternal MySQL, berikan hak istimewa `REPLICATION CLIENT` dan `REPLICATION SLAVE` 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'@'mydomain.com';
   ```

Untuk menggunakan replikasi terenkripsi, konfigurasikan instans basis data sumber untuk menggunakan koneksi SSL. Selain itu, impor sertifikat otoritas sertifikat, sertifikat klien, dan kunci klien ke dalam instans DB atau klaster DB menggunakan prosedur [mysql.rds\$1import\$1binlog\$1ssl\$1material](url-rds-user;mysql_rds_import_binlog_ssl_material.html).

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Setelah memanggil `mysql.rds_set_external_source` untuk mengkonfigurasi DB instance sebagai replika baca, Anda dapat memanggil replika baca untuk memulai proses replikasi. [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) Anda dapat memanggil [](#mysql_rds_reset_external_source) ​​untuk menghapus konfigurasi replika baca.

Saat `mysql.rds_set_external_source` dipanggil, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

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

Ketika dijalankan pada DB, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instance MySQL yang berjalan eksternal ke Amazon RDS.

```
call mysql.rds_set_external_source(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (RDS untuk MySQL versi utama 8.0 dan lebih rendah)
<a name="mysql_rds_set_external_master_with_auto_position"></a>

Mengonfigurasi instans DB RDS for MySQL menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Prosedur ini juga mengonfigurasi replikasi dan replikasi yang tertunda berdasarkan 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).

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

 

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

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

 *host\$1name*   
Nama host atau alamat IP instans MySQL yang berjalan di luar Amazon RDS untuk menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

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

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_master_with_auto_position`. Prosedur ini harus dijalankan pada instans DB MySQL untuk dikonfigurasi sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS. 

Prosedur ini didukung untuk semua versi RDS for MySQL 5.7, dan RDS for MySQL 8.0.26, dan versi 8.0 yang lebih tinggi.

Sebelum menjalankan `mysql.rds_set_external_master_with_auto_position`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai untuk `replication_user_name` dan `replication_user_password`. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans external MySQL. 

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. Pada instans eksternal MySQL, berikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna `'repl_user'` domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

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

Setelah memanggil `mysql.rds_set_external_master_with_auto_position` ​​untuk mengonfigurasi instans DB Amazon RDS sebagai replika baca, Anda dapat memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca untuk memulai proses replikasi. Anda dapat memanggil [](#mysql_rds_reset_external_master) ​​untuk menghapus konfigurasi replika baca.

Saat Anda memanggil `mysql.rds_set_external_master_with_auto_position`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

Untuk pemulihan bencana, Anda dapat menggunakan prosedur ini dengan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_external_master_with_auto_position`. Setelah prosedur `mysql.rds_start_replication_until_gtid` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md). 

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang cara menggunakan replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

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

Ketika dijalankan pada instans DB MySQL, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik) pada instans DB MySQL. Perubahan dari instans basis data sumber MySQL yang berjalan di luar Amazon RDS tidak diterapkan pada replika baca instans DB MySQL selama setidaknya satu jam.

```
call mysql.rds_set_external_master_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'SomePassW0rd',
  1,
  3600);
```

## mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)
<a name="mysql_rds_set_external_source_with_auto_position"></a>

Mengonfigurasi instans DB RDS for MySQL menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Prosedur ini juga mengonfigurasi replikasi dan replikasi yang tertunda berdasarkan 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).

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

 

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

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

 *host\$1name*   
Nama host atau alamat IP instans MySQL yang berjalan di luar Amazon RDS untuk menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 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 detik minimum untuk menunda replikasi dari instans basis data sumber.  
Batas untuk parameter ini adalah satu hari (86.400 detik).

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_set_external_source_with_auto_position`. Prosedur ini harus dijalankan pada instans DB MySQL untuk dikonfigurasi sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS. 

Sebelum menjalankan `mysql.rds_set_external_source_with_auto_position`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai untuk `replication_user_name` dan `replication_user_password`. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans external MySQL. 

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. Pada instans eksternal MySQL, berikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna `'repl_user'` domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

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

Setelah memanggil `mysql.rds_set_external_source_with_auto_position` ​​untuk mengonfigurasi instans DB Amazon RDS sebagai replika baca, Anda dapat memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca untuk memulai proses replikasi. Anda dapat memanggil [](#mysql_rds_reset_external_source) ​​untuk menghapus konfigurasi replika baca.

Saat Anda memanggil `mysql.rds_set_external_source_with_auto_position`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

Untuk pemulihan bencana, Anda dapat menggunakan prosedur ini dengan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_external_source_with_auto_position`. Setelah prosedur `mysql.rds_start_replication_until_gtid` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md). 

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang cara menggunakan replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

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

Ketika dijalankan pada instans DB MySQL, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik) pada instans DB MySQL. Perubahan dari instans basis data sumber MySQL yang berjalan di luar Amazon RDS tidak diterapkan pada replika baca instans DB MySQL selama setidaknya satu jam.

```
call mysql.rds_set_external_source_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'SomePassW0rd',
  1,
  3600);
```

## mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)
<a name="mysql_rds_set_external_master_with_delay"></a>

Mengonfigurasi instans DB RDS for MySQL menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS dan mengonfigurasi replikasi tertunda.

**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).

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

 

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

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

 *host\$1name*   
Nama host atau alamat IP dari instans MySQL yang berjalan di luar Amazon RDS yang akan menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port SSH yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada Instans basis data 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 MASTER STATUS` pada instans basis data sumber.

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

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

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

 Pengguna utama harus menjalankan prosedur `mysql.rds_set_external_master_with_delay`. Prosedur ini harus dijalankan pada instans DB MySQL untuk dikonfigurasi sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS. 

 Sebelum menjalankan `mysql.rds_set_external_master_with_delay`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai untuk `replication_user_name` dan `replication_user_password`. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans external MySQL. 

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. Pada instans eksternal MySQL, berikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna `'repl_user'` domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Setelah memanggil `mysql.rds_set_external_master_with_delay` ​​untuk mengonfigurasi instans DB Amazon RDS sebagai replika baca, Anda dapat memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca untuk memulai proses replikasi. Anda dapat memanggil [](#mysql_rds_reset_external_master) ​​untuk menghapus konfigurasi replika baca.

Saat Anda memanggil `mysql.rds_set_external_master_with_delay`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

Untuk pemulihan bencana, Anda dapat menggunakan prosedur ini dengan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_external_master_with_delay`. Setelah prosedur `mysql.rds_start_replication_until` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md). 

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang cara menggunakan replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

Prosedur `mysql.rds_set_external_master_with_delay` tersedia dalam versi RDS for MySQL ini:
+ MySQL 8.0.26 dan versi 8.0 yang lebih tinggi
+ Semua versi 5.7

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

Ketika dijalankan pada instans DB MySQL, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik) pada instans DB MySQL. Perubahan dari instans basis data sumber MySQL yang berjalan di luar Amazon RDS tidak diterapkan pada replika baca instans DB MySQL selama setidaknya satu jam.

```
call mysql.rds_set_external_master_with_delay(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'SomePassW0rd',
  'mysql-bin-changelog.000777',
  120,
  1,
  3600);
```

## mysql.rds\$1set\$1external\$1source\$1with\$1delay (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)
<a name="mysql_rds_set_external_source_with_delay"></a>

Mengonfigurasi instans DB RDS for MySQL menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS dan mengonfigurasi replikasi tertunda.

**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).

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

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

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

 *host\$1name*   
Nama host atau alamat IP dari instans MySQL yang berjalan di luar Amazon RDS yang akan menjadi instans basis data sumber.

 *host\$1port*   
Port yang digunakan oleh instans MySQL yang berjalan di luar Amazon RDS untuk dikonfigurasi sebagai instans basis data sumber. Jika konfigurasi jaringan Anda mencakup replikasi port SSH yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

 *replication\$1user\$1name*   
ID pengguna dengan izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans MySQL yang berjalan di luar Amazon RDS. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

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

 *mysql\$1binary\$1log\$1file\$1name*   
Nama log biner pada Instans basis data 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 MASTER STATUS` pada instans basis data sumber.

 *ssl\$1encryption*   
Nilai yang menentukan apakah enkripsi Lapisan Soket Aman (SSL) digunakan pada sambungan replikasi. 1 menentukan untuk menggunakan enkripsi SSL, 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 detik minimum untuk menunda replikasi dari instans basis data sumber.  
Batas untuk parameter ini adalah satu hari (86.400 detik).

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_set_external_source_with_delay`. Prosedur ini harus dijalankan pada instans DB MySQL untuk dikonfigurasi sebagai replika baca dari instans MySQL yang berjalan di luar Amazon RDS. 

 Sebelum menjalankan `mysql.rds_set_external_source_with_delay`, Anda harus mengonfigurasi instans MySQL yang berjalan di luar Amazon RDS menjadi instans basis data sumber. Untuk terhubung ke instans MySQL yang berjalan di luar Amazon RDS, Anda harus menentukan nilai untuk `replication_user_name` dan `replication_user_password`. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki izin `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada instans external MySQL. 

**Untuk mengonfigurasi instans ​​eksternal MySQL sebagai instans basis data sumber**

1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans eksternal MySQL dan buat akun pengguna yang akan digunakan untuk replikasi. Berikut adalah contohnya.

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. Pada instans eksternal MySQL, berikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` kepada pengguna replikasi Anda. Contoh berikut memberikan hak akses `REPLICATION CLIENT` dan `REPLICATION SLAVE` pada semua basis data untuk pengguna `'repl_user'` domain Anda.

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

Untuk informasi selengkapnya, lihat [Mengonfigurasi replikasi posisi file log biner dengan instans sumber eksternal](MySQL.Procedural.Importing.External.Repl.md).

**catatan**  
Kami menyarankan Anda menggunakan replikasi baca untuk mengelola replikasi antara dua instans DB Amazon RDS jika memungkinkan. Saat Anda melakukannya, sebaiknya hanya gunakan replika baca ini dan prosedur tersimpan terkait replikasi lainnya. Praktik ini memungkinkan topologi replikasi yang lebih kompleks antara instans DB Amazon RDS. Kami menawarkan prosedur tersimpan ini terutama untuk mengaktifkan replikasi dengan instans MySQL yang berjalan di luar Amazon RDS. Untuk informasi tentang mengelola replikasi di antara instans DB Amazon RDS, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

Setelah memanggil `mysql.rds_set_external_source_with_delay` ​​untuk mengonfigurasi instans DB Amazon RDS sebagai replika baca, Anda dapat memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca untuk memulai proses replikasi. Anda dapat memanggil [](#mysql_rds_reset_external_source) ​​untuk menghapus konfigurasi replika baca.

Saat Anda memanggil `mysql.rds_set_external_source_with_delay`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set master` di tabel `mysql.rds_history` dan `mysql.rds_replication_status`.

Untuk pemulihan bencana, Anda dapat menggunakan prosedur ini dengan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_external_source_with_delay`. Setelah prosedur `mysql.rds_start_replication_until` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md). 

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang cara menggunakan replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

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

Ketika dijalankan pada instans DB MySQL, contoh berikut mengonfigurasi instans DB menjadi replika baca dari instans MySQL yang berjalan di luar Amazon RDS. Ini menetapkan penundaan replikasi minimum menjadi satu jam (3.600 detik) pada instans DB MySQL. Perubahan dari instans basis data sumber MySQL yang berjalan di luar Amazon RDS tidak diterapkan pada replika baca instans DB MySQL selama setidaknya satu jam.

```
call mysql.rds_set_external_source_with_delay(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'SomePassW0rd',
  'mysql-bin-changelog.000777',
  120,
  1,
  3600);
```

## mysql.rds\$1set\$1external\$1source\$1gtid\$1purged
<a name="mysql_rds_set_external_source_gtid_purged"></a>

Menetapkan variabel sistem [gtid\$1purged](https://dev.mysql.com/doc/refman/8.0/en/replication-options-gtids.html#sysvar_gtid_purged) dengan rentang GTID tertentu dari sumber eksternal. `gtid_purged`Nilai diperlukan untuk mengonfigurasi replikasi berbasis GTID untuk melanjutkan replikasi menggunakan penentuan posisi otomatis.

**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).

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

 

```
CALL mysql.rds_set_external_source_gtid_purged(
  server_uuid
  , start_pos
  , end_pos
);
```

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

 *server\$1uuid*   
Pengidentifikasi unik universal (UUID) dari server eksternal tempat rentang GTID diimpor.

 *start\$1pos*   
Posisi awal rentang GTID yang akan ditetapkan.

 *end\$1pos*   
Posisi akhir dari rentang GTID yang akan ditetapkan.

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

`mysql.rds_set_external_source_gtid_purged`Prosedur ini hanya tersedia dengan MySQL 8.0.37 dan versi 8.0 yang lebih tinggi.

Hubungi `mysql.rds_set_external_source_gtid_purged` sebelum Anda menelepon[mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (RDS untuk MySQL versi utama 8.0 dan lebih rendah)](#mysql_rds_set_external_master_with_auto_position),[mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](#mysql_rds_set_external_source_with_auto_position), atau[mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position\$1for\$1channel](mysql-stored-proc-multi-source-replication.md#mysql_rds_set_external_source_with_auto_position_for_channel).

Sebelum Anda menelepon`mysql.rds_set_external_source_gtid_purged`, pastikan untuk menghentikan semua saluran replikasi aktif untuk database. Untuk memeriksa status saluran, gunakan pernyataan `SHOW REPLICA STATUS` MySQL. Untuk menghentikan replikasi pada saluran, hubungi[mysql.rds\$1stop\$1replication\$1for\$1channel](mysql-stored-proc-multi-source-replication.md#mysql_rds_stop_replication_for_channel).

Rentang GTID yang Anda tentukan harus merupakan superset dari nilai yang ada. `GTID_PURGED` Prosedur tersimpan ini memeriksa nilai-nilai berikut sebelum menetapkan `GTID_PURGED` nilai:
+ `server_uuid`Itu valid.
+ Nilai `start_pos` lebih besar dari `0` dan kurang dari nilai`end_pos`.
+ Nilai `end_pos` lebih besar dari atau sama dengan nilai`start_pos`.

Jika set GTID di server eksternal Anda berisi beberapa rentang nilai, pertimbangkan untuk memanggil prosedur beberapa kali dengan nilai set GTID yang berbeda.

Saat Anda menelepon`mysql.rds_set_external_source_gtid_purged`, Amazon RDS mencatat waktu, pengguna, dan tindakan `set gtid_purged` dalam `mysql.rds_history` tabel.

Jika Anda tidak menetapkan `gtid_purged` nilai dengan tepat untuk cadangan yang Anda gunakan untuk replikasi, ini dapat mengakibatkan transaksi hilang atau diduplikasi selama proses replikasi. Lakukan langkah-langkah berikut untuk menetapkan `gtid_purged` nilai yang benar.

**Untuk mengatur nilai gtid\$1purged pada replika**

1. Tentukan titik waktu atau file cadangan spesifik yang akan digunakan sebagai titik awal replikasi. Ini bisa berupa cadangan logis (file mysqldump) atau cadangan fisik (snapshot Amazon RDS).

1. Tentukan `gtid_executed` nilainya. Nilai ini mewakili himpunan semua GTIDs yang dilakukan di server. Untuk mengambil nilai ini, pada instance sumber, lakukan salah satu hal berikut:
   + Jalankan pernyataan SQL `SELECT @@GLOBAL.GTID_EXECUTED;` pada saat cadangan diambil.
   + Jika ada opsi terkait yang disertakan dalam utilitas cadangan masing-masing, ekstrak nilai dari file cadangan. Untuk informasi selengkapnya, lihat [set-gtid-purged](https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html#option_mysqldump_set-gtid-purged)opsi dalam dokumentasi MySQL.

1. Tentukan `gtid_purged` nilai yang akan digunakan untuk panggilan ke`mysql.rds_set_external_source_gtid_purged`. `gtid_purged`Nilai harus mencakup semua GTIDs yang dieksekusi pada instance sumber dan tidak lagi diperlukan untuk replikasi. Oleh karena itu, `gtid_purged` nilai harus menjadi bagian dari `gtid_executed` nilai yang Anda ambil pada langkah sebelumnya.

   Untuk menentukan `gtid_purged` nilainya, identifikasi GTIDs yang tidak disertakan dalam cadangan dan tidak lagi diperlukan untuk replikasi. Anda dapat melakukannya dengan menganalisis log biner atau dengan menggunakan alat seperti mysqlbinlog untuk menemukan GTIDs yang dibersihkan dari log biner.

   Atau, jika Anda memiliki cadangan konsisten yang mencakup semua log biner hingga titik cadangan, Anda dapat mengatur `gtid_purged` nilainya agar sama dengan `gtid_executed` nilai pada titik cadangan.

1. Setelah Anda menentukan `gtid_purged` nilai yang sesuai yang konsisten dengan cadangan Anda, panggil prosedur `mysql.rds_set_external_source_gtid_purged` tersimpan pada instans RDS untuk MySQL DB Anda untuk menetapkan nilainya.

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

Ketika dijalankan pada instance MySQL DB, contoh berikut menetapkan rentang GTID dari server MySQL eksternal dengan `12345678-abcd-1234-efgh-123456789abc` UUID, posisi awal, dan posisi akhir. `1` `100` Nilai GTID yang dihasilkan diatur ke. `+12345678-abcd-1234-efgh-123456789abc:1-100`

```
CALL mysql.rds_set_external_source_gtid_purged('12345678-abcd-1234-efgh-123456789abc', 1, 100);
```

## 
<a name="mysql_rds_set_master_auto_position"></a>

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

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

 

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

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

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_set_master_auto_position`.

Prosedur ini didukung untuk semua RDS untuk MySQL 5.7 versi dan RDS untuk MySQL 8.0.26 dan versi 8.0 yang lebih tinggi.

## 
<a name="mysql_rds_set_source_auto_position"></a>

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

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

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

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

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

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

Pengguna administratif harus menjalankan prosedur `mysql.rds_set_source_auto_position`. 

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

Mengatur jumlah detik minimum untuk menunda replikasi dari instans basis data sumber ke replika baca saat ini. Gunakan prosedur ini saat Anda tersambung ke replika baca untuk menunda replikasi dari instans basis data sumbernya.

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

```
CALL mysql.rds_set_source_delay(
delay
);
```

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

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_set_source_delay`.

Untuk pemulihan bencana, Anda dapat menggunakan prosedur ini dengan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_source_delay`. Setelah prosedur `mysql.rds_start_replication_until` atau `mysql.rds_start_replication_until_gtid` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

Prosedur `mysql.rds_set_source_delay` tersedia dalam versi RDS for MySQL ini:
+ Semua RDS untuk MySQL 8.4 versi
+ MySQL 8.0.26 dan versi 8.0 yang lebih tinggi
+ Semua versi 5.7

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

Untuk menunda replikasi dari instans basis data sumber ke replika baca saat ini setidaknya selama satu jam (3.600 detik), Anda dapat memanggil `mysql.rds_set_source_delay` ​​dengan parameter berikut:

```
CALL mysql.rds_set_source_delay(3600);
```

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

Melewati dan menghapus kesalahan replikasi pada replika baca DB MySQL.

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

 

```
CALL mysql.rds_skip_repl_error;
```

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

Pengguna utama harus menjalankan prosedur `mysql.rds_skip_repl_error` pada replika baca. Untuk informasi selengkapnya tentang prosedur ini, lihat [Memanggil prosedur mysql.rds\$1skip\$1repl\$1error](Appendix.MySQL.CommonDBATasks.SkipError.md#Appendix.MySQL.CommonDBATasks.SkipError.procedure).

Untuk menentukan apakah ada kesalahan, jalankan perintah `SHOW REPLICA STATUS\G` MySQL. Jika kesalahan replikasi tidak parah, Anda dapat menjalankan `mysql.rds_skip_repl_error` untuk melewati kesalahan tersebut. Jika ada beberapa kesalahan, `mysql.rds_skip_repl_error` akan menghapus kesalahan pertama, lalu memberi peringatan bahwa ada kesalahan lain. Anda kemudian dapat menggunakan `SHOW REPLICA STATUS\G` untuk menentukan tindakan yang benar untuk kesalahan berikutnya. Untuk informasi tentang nilai yang ditampilkan, lihat [SHOW REPLICA STATUS statement](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html) dalam dokumentasi MySQL.

Untuk informasi selengkapnya tentang cara mengatasi kesalahan replikasi dengan Amazon RDS, lihat [Memecahkan masalah replika SQL baca saya](USER_ReadRepl.Troubleshooting.md).

#### Kesalahan replikasi terhenti
<a name="skip_repl_error.stopped-error"></a>

Ketika memanggil prosedur `mysql.rds_skip_repl_error`, Anda mungkin menerima pesan kesalahan yang menyatakan bahwa replika tidak berfungsi atau dinonaktifkan.

Pesan kesalahan ini muncul jika Anda menjalankan prosedur pada instans primer, bukan replika baca. Anda harus menjalankan prosedur ini pada replika baca agar prosedur berfungsi.

Pesan kesalahan ini mungkin juga muncul jika Anda menjalankan prosedur pada replika baca, tetapi replikasi tidak berhasil dimulai ulang.

Jika Anda perlu melewati sejumlah besar kesalahan, lag replikasi dapat meningkat hingga melampaui periode retensi default untuk file log biner (binlog). Dalam hal ini, Anda mungkin mengalami kesalahan fatal karena file binlog dibersihkan sebelum diputar ulang pada replika baca. Penghapusan ini menyebabkan replikasi berhenti, dan Anda tidak dapat lagi memanggil perintah `mysql.rds_skip_repl_error` untuk melewati kesalahan replikasi.

Anda dapat memitigasi masalah ini dengan meningkatkan jumlah jam retensi file binlog tersebut pada instans basis data sumber Anda. Setelah meningkatkan waktu retensi binlog, Anda dapat memulai ulang replikasi dan memanggil perintah `mysql.rds_skip_repl_error` sesuai kebutuhan.

Untuk mengatur waktu retensi binlog, gunakan prosedur [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) dan tentukan parameter konfigurasi `'binlog retention hours'` bersama dengan jumlah jam untuk mempertahankan file binlog di klaster DB. Contoh berikut menetapkan periode penyimpanan file binlog menjadi 48 jam.

```
CALL mysql.rds_set_configuration('binlog retention hours', 48);
```

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

Memulai replikasi dari instans DB RDS for MySQL.

**catatan**  
Anda dapat menggunakan prosedur tersimpan [](#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid) untuk memulai replikasi dari instans DB RDS for MySQL dan menghentikan replikasi di lokasi file log biner yang telah ditentukan.

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

 

```
CALL mysql.rds_start_replication;
```

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

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication`.

Untuk mengimpor data dari instance MySQL eksternal ke Amazon RDS, `mysql.rds_start_replication` panggil replika baca untuk memulai proses replikasi setelah Anda [](#mysql_rds_set_external_master) memanggil [](#mysql_rds_set_external_source) atau membangun konfigurasi replikasi. Untuk informasi selengkapnya, lihat [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md).

Untuk mengekspor data ke instans MySQL yang berjalan di luar Amazon RDS, panggil `mysql.rds_start_replication` dan `mysql.rds_stop_replication` pada replika baca untuk mengontrol beberapa tindakan replikasi, seperti membersihkan log biner. Untuk informasi selengkapnya, lihat [Mengekspor data dari instans DB MySQL dengan menggunakan replikasi](MySQL.Procedural.Exporting.NonRDSRepl.md).

Anda juga dapat memanggil `mysql.rds_start_replication` ​​pada replika baca untuk memulai kembali proses replikasi apa pun yang sebelumnya Anda hentikan dengan memanggil `mysql.rds_stop_replication`. Untuk informasi selengkapnya, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

## 
<a name="mysql_rds_start_replication_until"></a>

Memulai replikasi dari instans DB RDS for MySQL dan menghentikan replikasi di lokasi file log biner yang telah ditentukan.

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

 

```
CALL mysql.rds_start_replication_until (
replication_log_file
  , replication_stop_point
);
```

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

 *replication\$1log\$1file*   
Nama log biner pada instans basis data sumber yang berisi informasi replikasi.

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

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

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication_until`.

Prosedur `mysql.rds_start_replication_until` tersedia dalam versi RDS for MySQL ini:
+ Semua RDS untuk MySQL 8.4 versi
+ MySQL 8.0.26 dan versi 8.0 yang lebih tinggi
+ Semua versi 5.7

Anda dapat menggunakan prosedur ini dengan replikasi tertunda untuk pemulihan bencana. Jika Anda telah mengonfigurasi replikasi tertunda, Anda dapat menggunakan prosedur ini untuk meneruskan perubahan ke replika baca tertunda ke waktu sebelum bencana terjadi. Setelah prosedur ini menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).

Anda dapat mengonfigurasi replikasi tertunda menggunakan prosedur tersimpan berikut ini:
+ [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](#mysql_rds_set_external_master_with_delay)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1delay (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](#mysql_rds_set_external_source_with_delay)
+ [mysql.rds\$1set\$1source\$1delay](#mysql_rds_set_source_delay)

Nama file yang ditentukan untuk parameter `replication_log_file` harus cocok dengan nama file binlog instans basis data sumber.

Jika parameter `replication_stop_point` menentukan lokasi perhentian di masa lalu, replikasi akan segera dihentikan.

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

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

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

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

Menghentikan replikasi dari instans DB MySQL.

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

 

```
CALL mysql.rds_stop_replication;
```

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

Pengguna utama harus menjalankan prosedur `mysql.rds_stop_replication`. 

Jika Anda mengonfigurasi replikasi untuk mengimpor data dari instans MySQL yang berjalan di luar Amazon RDS, Anda memanggil `mysql.rds_stop_replication` pada replika baca untuk menghentikan proses replikasi setelah impor selesai. Untuk informasi selengkapnya, lihat [Memulihkan cadangan ke instans Amazon RDS for MySQL DB](MySQL.Procedural.Importing.md).

Jika Anda mengonfigurasi replikasi untuk mengekspor data ke instans MySQL yang berjalan di luar Amazon RDS, Anda memanggil `mysql.rds_start_replication` dan `mysql.rds_stop_replication` pada replika baca untuk mengontrol beberapa tindakan replikasi, seperti membersihkan log biner. Untuk informasi selengkapnya, lihat [Mengekspor data dari instans DB MySQL dengan menggunakan replikasi](MySQL.Procedural.Exporting.NonRDSRepl.md).

Anda juga dapat menggunakan `mysql.rds_stop_replication` untuk menghentikan replikasi antara dua instans DB Amazon RDS. Anda biasanya menghentikan replikasi untuk menjalankan operasi berjangka panjang pada replika baca, seperti membuat indeks besar pada replika baca. Anda dapat memulai kembali proses replikasi apa pun yang sebelumnya Anda hentikan dengan memanggil [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) pada replika baca. Untuk informasi selengkapnya, lihat [Menggunakan replika baca instans DB](USER_ReadRepl.md).

# Mengakhiri sesi atau kueri
<a name="mysql-stored-proc-ending"></a>

Prosedur tersimpan berikut mengakhiri sesi atau kueri.

**Topics**
+ [mysql.rds\$1kill](#mysql_rds_kill)
+ [mysql.rds\$1kill\$1query](#mysql_rds_kill_query)

## mysql.rds\$1kill
<a name="mysql_rds_kill"></a>

Mengakhiri koneksi ke server MySQL.

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

```
CALL mysql.rds_kill(processID);
```

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

 *processID*   
Identitas utas koneksi akan diakhiri.

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

Setiap koneksi ke server MySQL berjalan di utas terpisah. Untuk mengakhiri koneksi, gunakan prosedur `mysql.rds_kill` dan teruskan ID utas koneksi tersebut. Untuk mendapatkan ID utas, gunakan perintah [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html) MySQL.

Untuk informasi tentang batasan, lihat [Batasan prosedur tersimpan MySQL](MySQL.KnownIssuesAndLimitations.md#MySQL.Concepts.KnownIssuesAndLimitations.KillProcedures).

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

Contoh berikut mengakhiri koneksi dengan ID utas 4243:

```
CALL mysql.rds_kill(4243);
```

## mysql.rds\$1kill\$1query
<a name="mysql_rds_kill_query"></a>

Mengakhiri kueri yang berjalan pada server MySQL.

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

```
CALL mysql.rds_kill_query(processID);
```

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

 *processID*   
Identitas proses atau utas yang menjalankan kueri yang akan diakhiri.

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

Untuk mengakhiri kueri yang berjalan pada server MySQL, gunakan prosedur `mysql_rds_kill_query` dan teruskan ID koneksi utas yang menjalankan kueri. Lalu, prosedur akan mengakhiri koneksi.

Untuk mendapatkan ID, lakukan kueri pada [tabel INFORMATION\$1SCHEMA PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/information-schema-processlist-table.html) MySQL atau gunakan perintah [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html) MySQL. Nilai dalam kolom ID dari `SHOW PROCESSLIST` atau `SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST` adalah *processID*. 

Untuk informasi tentang batasan, lihat [Batasan prosedur tersimpan MySQL](MySQL.KnownIssuesAndLimitations.md#MySQL.Concepts.KnownIssuesAndLimitations.KillProcedures).

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

Contoh berikut mengakhiri kueri dengan ID utas kueri 230040:

```
CALL mysql.rds_kill_query(230040);
```

# Mengelola klaster aktif-aktif
<a name="mysql-stored-proc-active-active-clusters"></a>

Prosedur tersimpan berikut ini disiapkan dan dikelola RDS untuk klaster SQL aktif-aktif Saya. Untuk informasi selengkapnya, lihat [Mengonfigurasikan klaster aktif-aktif untuk RDS for MySQL](mysql-active-active-clusters.md).

Prosedur tersimpan ini hanya tersedia RDS untuk instans My SQL DB yang menjalankan versi berikut:
+ Semua versi My SQL 8.4
+ SQL8.0.35 saya dan versi minor yang lebih tinggi

**Topics**
+ [mysql.rds\$1group\$1replication\$1advance\$1gtid](#mysql_rds_group_replication_advance_gtid)
+ [mysql.rds\$1group\$1replication\$1create\$1user](#mysql_rds_group_replication_create_user)
+ [mysql.rds\$1group\$1replication\$1set\$1recovery\$1channel](#mysql_rds_group_replication_set_recovery_channel)
+ [mysql.rds\$1group\$1replication\$1start](#mysql_rds_group_replication_start)
+ [mysql.rds\$1group\$1replication\$1stop](#mysql_rds_group_replication_stop)

## mysql.rds\$1group\$1replication\$1advance\$1gtid
<a name="mysql_rds_group_replication_advance_gtid"></a>

Menciptakan placeholder GTIDs pada instance DB saat ini.

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

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

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

 *begin\$1id*   
ID transaksi awal yang akan dibuat.

 *end\$1id*   
ID transaksi akhir yang akan dibuat.

 *begin\$1id*   
`group_replication_group_name` untuk transaksi yang akan dibuat. `group_replication_group_name`Ini ditentukan sebagai UUID dalam kelompok parameter DB yang terkait dengan instans DB.

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

Dalam cluster aktif-aktif, untuk instans DB untuk bergabung dengan grup, semua GTID transaksi yang dijalankan pada instans DB baru harus ada pada anggota lain di cluster. Dalam kasus tertentu, instans DB baru mungkin memiliki lebih banyak transaksi ketika transaksi dieksekusi sebelum menggabungkan instans ke grup. Dalam hal ini, Anda tidak dapat menghapus transaksi yang ada, tetapi Anda dapat menggunakan prosedur ini untuk membuat placeholder yang sesuai GTIDs pada instans DB lain di grup. Sebelum itu, pastikan transaksi *tidak memengaruhi data yang direplikasi*.

Ketika Anda memanggil prosedur ini, GTID transaksi `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
<a name="mysql_rds_group_replication_advance_gtid-examples"></a>

Contoh berikut menciptakan placeholder GTIDs pada instance DB saat ini. :

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

## mysql.rds\$1group\$1replication\$1create\$1user
<a name="mysql_rds_group_replication_create_user"></a>

Membuat pengguna replikasi `rdsgrprepladmin` untuk replikasi grup pada instans DB.

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

```
CALL mysql.rds_group_replication_create_user(
replication_user_password
);
```

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

 *replication\$1user\$1password*   
Kata sandi pengguna replikasi `rdsgrprepladmin`.

### Catatan penggunaan
<a name="mysql_rds_group_replication_create_user-usage-notes"></a>
+ 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
<a name="mysql_rds_group_replication_create_user-examples"></a>

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

```
CALL mysql.rds_group_replication_create_user('password');
```

## mysql.rds\$1group\$1replication\$1set\$1recovery\$1channel
<a name="mysql_rds_group_replication_set_recovery_channel"></a>

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

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

```
CALL mysql.rds_group_replication_set_recovery_channel(
replication_user_password);
```

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

 *replication\$1user\$1password*   
Kata sandi pengguna replikasi `rdsgrprepladmin`.

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

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
<a name="mysql_rds_group_replication_set_recovery_channel-examples"></a>

Contoh berikut menetapkan saluran `group_replication_recovery` untuk klaster aktif-aktif:

```
CALL mysql.rds_group_replication_set_recovery_channel('password');
```

## mysql.rds\$1group\$1replication\$1start
<a name="mysql_rds_group_replication_start"></a>

Memulai replikasi grup pada instans DB saat ini.

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

```
CALL mysql.rds_group_replication_start(
bootstrap
);
```

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

 *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
<a name="mysql_rds_group_replication_start-examples"></a>

Contoh berikut menginisialisasi grup baru dengan instans DB saat ini:

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

## mysql.rds\$1group\$1replication\$1stop
<a name="mysql_rds_group_replication_stop"></a>

Menghentikan replikasi grup pada instans DB saat ini.

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

```
CALL mysql.rds_group_replication_stop();
```

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

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

# 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');
```

# Mereplikasi transaksi menggunakan GTIDs
<a name="mysql-stored-proc-gtid"></a>

Prosedur tersimpan berikut mengontrol bagaimana transaksi direplikasi menggunakan pengidentifikasi transaksi global (GTIDs) dengan RDS untuk MySQL. Untuk informasi lebih lanjut tentang replikasi berdasarkan GTIDs dengan RDS untuk MySQL, lihat. [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md)

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

**Topics**
+ [](#mysql_rds_skip_transaction_with_gtid)
+ [](#mysql_rds_start_replication_until_gtid)

## 
<a name="mysql_rds_skip_transaction_with_gtid"></a>

Melewati replikasi transaksi dengan pengenal transaksi global (GTID) yang ditentukan pada instans DB MySQL.

Anda dapat menggunakan prosedur ini untuk pemulihan bencana ketika transaksi GTID tertentu diketahui menyebabkan masalah. Gunakan prosedur tersimpan ini untuk melewati transaksi bermasalah. Contoh transaksi bermasalah mencakup transaksi yang menonaktifkan replikasi, menghapus data penting, atau menyebabkan instans DB menjadi tidak tersedia.

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

 

```
CALL mysql.rds_skip_transaction_with_gtid (
gtid_to_skip
);
```

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

 *gtid\$1to\$1skip*   
GTID dari transaksi replikasi yang akan dilewati.

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

Pengguna utama harus menjalankan prosedur `mysql.rds_skip_transaction_with_gtid`.

Prosedur ini didukung untuk semua RDS untuk MySQL 5.7 versi, semua RDS untuk MySQL 8.0 versi, dan semua RDS untuk MySQL 8.4 versi.

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

Contoh berikut melewati replikasi transaksi dengan GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23`.

```
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## 
<a name="mysql_rds_start_replication_until_gtid"></a>

Memulai replikasi dari instans DB RDS for MySQL dan menghentikan replikasi segera setelah pengidentifikasi transaksi global (GTID) yang ditentukan.

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

 

```
CALL mysql.rds_start_replication_until_gtid(gtid);
```

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

 *gtid*   
GTID setelah replikasi dihentikan.

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

Pengguna utama harus menjalankan prosedur `mysql.rds_start_replication_until_gtid`.

Prosedur ini didukung untuk semua RDS untuk MySQL 5.7 versi, semua RDS untuk MySQL 8.0 versi, dan semua RDS untuk MySQL 8.4 versi.

Anda dapat menggunakan prosedur ini dengan replikasi tertunda untuk pemulihan bencana. Jika Anda telah mengonfigurasi replikasi tertunda, Anda dapat menggunakan prosedur ini untuk meneruskan perubahan ke replika baca tertunda ke waktu sebelum bencana terjadi. Setelah prosedur ini menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan menggunakan petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md).

Anda dapat mengonfigurasi replikasi tertunda menggunakan prosedur tersimpan berikut ini:
+ [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1delay (RDS untuk MariaDB dan RDS untuk MySQL mayor versi 8.0 dan lebih rendah)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master_with_delay)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1delay (RDS untuk MySQL mayor versi 8.4 dan lebih tinggi)](mysql-stored-proc-replicating.md#mysql_rds_set_external_source_with_delay)
+ [mysql.rds\$1set\$1source\$1delay](mysql-stored-proc-replicating.md#mysql_rds_set_source_delay)

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

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

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

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

# Memutar log kueri
<a name="mysql-stored-proc-logging"></a>

Prosedur tersimpan berikut memutar SQL log Saya ke tabel cadangan. Untuk informasi selengkapnya, lihat [File log ](USER_LogAccess.Concepts.MySQL.md).

**Topics**
+ [mysql.rds\$1rotate\$1general\$1log](#mysql_rds_rotate_general_log)
+ [mysql.rds\$1rotate\$1slow\$1log](#mysql_rds_rotate_slow_log)

## mysql.rds\$1rotate\$1general\$1log
<a name="mysql_rds_rotate_general_log"></a>

Merotasi tabel `mysql.general_log` ke tabel cadangan.

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

 

```
CALL mysql.rds_rotate_general_log;
```

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

Anda bisa merotasi tabel `mysql.general_log` ke tabel cadangan dengan memanggil prosedur `mysql.rds_rotate_general_log`. Saat tabel log dirotasi, tabel log saat ini disalin ke tabel log cadangan dan entri di tabel log saat ini dihapus. Jika sudah ada, tabel log cadangan akan dihapus sebelum tabel log saat ini disalin ke cadangan. Anda dapat meminta tabel log cadangan jika diperlukan. Tabel log cadangan untuk tabel `mysql.general_log` bernama `mysql.general_log_backup`.

Anda dapat menjalankan prosedur ini hanya ketika parameter `log_output` diatur ke `TABLE`.

## mysql.rds\$1rotate\$1slow\$1log
<a name="mysql_rds_rotate_slow_log"></a>

Merotasi tabel `mysql.slow_log` ke tabel cadangan.

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

 

```
CALL mysql.rds_rotate_slow_log;
```

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

Anda bisa merotasi tabel `mysql.slow_log` ke tabel cadangan dengan memanggil prosedur `mysql.rds_rotate_slow_log`. Saat tabel log dirotasi, tabel log saat ini disalin ke tabel log cadangan dan entri di tabel log saat ini dihapus. Jika sudah ada, tabel log cadangan akan dihapus sebelum tabel log saat ini disalin ke cadangan. 

Anda dapat meminta tabel log cadangan jika diperlukan. Tabel log cadangan untuk tabel `mysql.slow_log` bernama `mysql.slow_log_backup`. 

# Mengatur dan menampilkan konfigurasi log biner
<a name="mysql-stored-proc-configuring"></a>

Prosedur tersimpan berikut mengatur dan menampilkan parameter konfigurasi, seperti untuk retensi file log biner.

**Topics**
+ [mysql.rds\$1set\$1configuration](#mysql_rds_set_configuration)
+ [mysql.rds\$1show\$1configuration](#mysql_rds_show_configuration)

## mysql.rds\$1set\$1configuration
<a name="mysql_rds_set_configuration"></a>

Menentukan jumlah jam untuk mempertahankan log biner atau jumlah detik untuk menunda replikasi.

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

 

```
CALL mysql.rds_set_configuration(name,value);
```

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

 *name*   
Nama parameter konfigurasi yang akan diatur.

 *value*   
Nilai parameter konfigurasi.

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

Prosedur `mysql.rds_set_configuration` mendukung parameter konfigurasi berikut:
+ [binlog retention hours](#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)
+ [source delay](#mysql_rds_set_configuration-usage-notes.source-delay)
+ [target delay](#mysql_rds_set_configuration-usage-notes.target-delay)

Parameter konfigurasi disimpan secara permanen dan bertahan dari boot ulang atau failover instans DB apa pun.

#### binlog retention hours
<a name="mysql_rds_set_configuration-usage-notes.binlog-retention-hours"></a>

Parameter `binlog retention hours` digunakan untuk menentukan jumlah jam untuk mempertahankan file log biner. Amazon RDS biasanya membersihkan log biner sesegera mungkin, tetapi log biner mungkin masih diperlukan untuk replikasi dengan basis data MySQL di luar RDS.

Nilai default `binlog retention hours` adalah `NULL`. Untuk RDS for MySQL, `NULL` menandakan bahwa log biner tidak dipertahankan (0 jam).

Untuk menentukan jumlah jam guna mempertahankan log biner pada instans DB, gunakan prosedur tersimpan `mysql.rds_set_configuration` dan tentukan periode dengan waktu yang cukup untuk terjadinya proses replikasi, seperti yang diperlihatkan dalam contoh berikut.

`call mysql.rds_set_configuration('binlog retention hours', 24);`

**catatan**  
Anda tidak dapat menggunakan nilai `0` untuk `binlog retention hours`.

Untuk instans DB MySQL, nilai `binlog retention hours` maksimumnya adalah 168 (7 hari).

Setelah Anda mengatur periode retensi, pantau penggunaan penyimpanan untuk instans DB guna memastikan bahwa log biner yang dipertahankan tidak memakan terlalu banyak ruang penyimpanan.

Untuk penerapan klaster DB multi-AZ, Anda hanya dapat mengonfigurasi retensi log biner dari instans DB penulis, dan pengaturan disebarkan ke semua instans DB pembaca secara asinkron. Jika log biner pada cluster DB melebihi setengah dari total ruang penyimpanan lokal, Amazon RDS secara otomatis memindahkan log basi ke volume EBS. Namun, log terbaru tetap berada di penyimpanan lokal, sehingga mereka dapat hilang jika ada kegagalan yang memerlukan penggantian host, atau jika Anda menskalakan database ke atas atau ke bawah. 

#### source delay
<a name="mysql_rds_set_configuration-usage-notes.source-delay"></a>

Gunakan parameter `source delay` dalam replika baca untuk menentukan jumlah detik untuk menunda replikasi dari replika baca ke instans DB sumbernya. Amazon RDS biasanya mereplikasi perubahan sesegera mungkin, tetapi Anda mungkin ingin menunda replikasi di beberapa lingkungan. Misalnya, saat replikasi tertunda, Anda dapat menggulirkan replika baca tertunda ke waktu sebelum bencana terjadi. Jika tabel jatuh secara tidak sengaja, Anda dapat menggunakan replikasi tertunda untuk memulihkannya dengan cepat. Nilai default `target delay` adalah `0` (tidak menunda replikasi).

Saat digunakan, parameter ini menjalankan [mysql.rds\$1set\$1source\$1delay](mysql-stored-proc-replicating.md#mysql_rds_set_source_delay) dan menerapkan CHANGE primary TO MASTER\$1DELAY = nilai input. Jika berhasil, prosedur menyimpan parameter `source delay` ke tabel `mysql.rds_configuration`.

Untuk menentukan jumlah detik bagi Amazon RDS untuk menunda replikasi ke instans DB sumber, gunakan prosedur tersimpan `mysql.rds_set_configuration` dan tentukan jumlah detik untuk menunda replikasi. Dalam contoh berikut, replikasi tertunda setidaknya satu jam (3.600 detik).

`call mysql.rds_set_configuration('source delay', 3600);`

Lalu, prosedur menjalankan `mysql.rds_set_source_delay(3600)`. 

Batas untuk parameter `source delay` adalah satu hari (86.400 detik).

#### target delay
<a name="mysql_rds_set_configuration-usage-notes.target-delay"></a>

Gunakan parameter `target delay` untuk menentukan jumlah detik guna menunda replikasi antara instans DB dan replika baca yang dikelola RDS mendatang yang dibuat dari instans ini. Parameter ini diabaikan untuk replika non-RDS-managed baca. Amazon RDS biasanya mereplikasi perubahan sesegera mungkin, tetapi Anda mungkin ingin menunda replikasi di beberapa lingkungan. Misalnya, saat replikasi tertunda, Anda dapat menggulirkan replika baca tertunda ke waktu sebelum bencana terjadi. Jika tabel jatuh secara tidak sengaja, Anda dapat menggunakan replikasi tertunda untuk memulihkannya dengan cepat. Nilai default `target delay` adalah `0` (tidak menunda replikasi).

Untuk pemulihan bencana, Anda dapat menggunakan parameter konfigurasi ini dengan prosedur tersimpan [](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) atau [](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid). Untuk meneruskan perubahan ke replika baca yang tertunda ke waktu sebelum bencana, Anda dapat menjalankan prosedur `mysql.rds_set_configuration` dengan pengaturan parameter ini. Setelah prosedur `mysql.rds_start_replication_until` atau `mysql.rds_start_replication_until_gtid` menghentikan replikasi, Anda dapat mempromosikan replika baca menjadi instans DB primer baru dengan mengikuti petunjuk di [Mempromosikan replika baca menjadi instans DB mandiri](USER_ReadRepl.Promote.md). 

Untuk menggunakan prosedur `mysql.rds_rds_start_replication_until_gtid`, replikasi berbasis GTID harus diaktifkan. Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan bencana, Anda dapat menggunakan prosedur tersimpan [](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid). Untuk informasi selengkapnya tentang cara menggunakan replikasi berbasis GTID, lihat [Menggunakan replikasi GTID berbasis](mysql-replication-gtid.md).

Untuk menentukan jumlah detik bagi Amazon RDS untuk menunda replikasi ke replika baca, gunakan prosedur tersimpan `mysql.rds_set_configuration` dan tentukan jumlah detik untuk menunda replikasi. Contoh berikut menunjukkan bahwa replikasi tertunda setidaknya satu jam (3.600 detik).

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

Batas untuk parameter `target delay` adalah satu hari (86.400 detik).

## mysql.rds\$1show\$1configuration
<a name="mysql_rds_show_configuration"></a>

Jumlah jam untuk mempertahankan log biner.

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

 

```
CALL mysql.rds_show_configuration;
```

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

Untuk memverifikasi jumlah jam Amazon RDS mempertahankan log biner, gunakan prosedur tersimpan `mysql.rds_show_configuration`.

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

Contoh berikut menampilkan periode retensi:

```
call mysql.rds_show_configuration;
                name                         value     description
                binlog retention hours       24        binlog retention hours specifies the duration in hours before binary logs are automatically deleted.
```

# Pemanasan cache InnoDB
<a name="mysql-stored-proc-warming"></a>

Prosedur tersimpan berikut menyimpan, memuat, atau membatalkan pemuatan kumpulan buffer InnoDB di instans DB RDS for MySQL. Untuk informasi selengkapnya, lihat [Pemanasan cache InnoDB untuk MySQL di Amazon RDS](MySQL.Concepts.FeatureSupport.md#MySQL.Concepts.InnoDBCacheWarming).

**Topics**
+ [mysql.rds\$1innodb\$1buffer\$1pool\$1dump\$1now](#mysql_rds_innodb_buffer_pool_dump_now)
+ [mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1abort](#mysql_rds_innodb_buffer_pool_load_abort)
+ [mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1now](#mysql_rds_innodb_buffer_pool_load_now)

## mysql.rds\$1innodb\$1buffer\$1pool\$1dump\$1now
<a name="mysql_rds_innodb_buffer_pool_dump_now"></a>

Membuang status kumpulan buffer saat ini ke disk.

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

 

```
CALL mysql.rds_innodb_buffer_pool_dump_now();
```

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

Pengguna master harus menjalankan prosedur `mysql.rds_innodb_buffer_pool_dump_now`.

## mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1abort
<a name="mysql_rds_innodb_buffer_pool_load_abort"></a>

Membatalkan pemuatan status kumpulan buffer yang disimpan saat sedang berlangsung.

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

 

```
CALL mysql.rds_innodb_buffer_pool_load_abort();
```

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

Pengguna master harus menjalankan prosedur `mysql.rds_innodb_buffer_pool_load_abort`. 

## mysql.rds\$1innodb\$1buffer\$1pool\$1load\$1now
<a name="mysql_rds_innodb_buffer_pool_load_now"></a>

Memuat status kumpulan buffer yang disimpan dari disk.

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

 

```
CALL mysql.rds_innodb_buffer_pool_load_now();
```

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

Pengguna master harus menjalankan prosedur `mysql.rds_innodb_buffer_pool_load_now`.