

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

# Membandingkan Aurora MySQL versi 2 dan Aurora MySQL versi 3
<a name="AuroraMySQL.Compare-v2-v3"></a>

Gunakan yang berikut ini untuk mempelajari tentang perubahan yang harus diperhatikan saat Anda meningkatkan klaster Aurora MySQL versi 2 ke versi 3.

**Topics**
+ [Dukungan Atomic Data Definition Language (DDL)](#AuroraMySQL.Compare-v2-v3-atomic-ddl)
+ [Perbedaan fitur antara Aurora MySQL versi 2 dan 3](#AuroraMySQL.Compare-v2-v3-features)
+ [Dukungan kelas instans](#AuroraMySQL.mysql80-instance-classes)
+ [Perubahan parameter untuk Aurora MySQL versi 3](#AuroraMySQL.mysql80-parameter-changes)
+ [Variabel status](#AuroraMySQL.mysql80-status-vars)
+ [Perubahan bahasa inklusif untuk Aurora MySQL versi 3](#AuroraMySQL.8.0-inclusive-language)
+ [Nilai AUTO\$1INCREMENT](#AuroraMySQL.mysql80-autoincrement)
+ [Replikasi log biner](#AuroraMySQL.mysql80-binlog)

## Dukungan Atomic Data Definition Language (DDL)
<a name="AuroraMySQL.Compare-v2-v3-atomic-ddl"></a>

[Salah satu perubahan terbesar dari MySQL 5.7 ke 8.0 adalah pengenalan Atomic Data Dictionary.](https://dev.mysql.com/doc/refman/8.0/en/data-dictionary-file-removal.html) Sebelum MySQL 8.0, kamus data MySQL menggunakan pendekatan berbasis file untuk menyimpan metadata seperti definisi tabel (.frm), pemicu (.trg), dan fungsi secara terpisah dari metadata mesin penyimpanan (seperti InnoDB). Ini memiliki beberapa masalah, termasuk risiko tabel menjadi "[yatim piatu](https://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html)" jika sesuatu yang tidak terduga terjadi selama operasi DDL, menyebabkan metadata berbasis file dan mesin penyimpanan tidak sinkron.

Untuk memperbaikinya, MySQL 8.0 memperkenalkan Atomic Data Dictionary, yang menyimpan semua metadata dalam satu set tabel InnoDB internal dalam skema. `mysql` Arsitektur baru ini menyediakan cara transaksional, sesuai [ACID](https://en.wikipedia.org/wiki/ACID) untuk mengelola metadata database, memecahkan masalah “DDL atom” dari pendekatan berbasis file lama. *Untuk informasi selengkapnya tentang Kamus Data Atom, lihat [Penghapusan penyimpanan metadata berbasis file](https://dev.mysql.com/doc/refman/8.0/en/data-dictionary-file-removal.html) dan dukungan [pernyataan definisi data Atom di](https://dev.mysql.com/doc/refman/8.0/en/atomic-ddl.html) Manual Referensi MySQL.*

Karena perubahan arsitektur ini, Anda harus mempertimbangkan hal berikut saat memutakhirkan dari Aurora MySQL versi 2 ke versi 3:
+ Metadata berbasis file dari versi 2 harus dimigrasikan ke tabel kamus data baru selama proses upgrade ke versi 3. Bergantung pada berapa banyak objek database yang dimigrasikan, ini bisa memakan waktu.
+ Perubahan juga telah memperkenalkan beberapa ketidakcocokan baru yang mungkin perlu ditangani sebelum Anda dapat meningkatkan dari MySQL 5.7 ke 8.0. Misalnya, 8.0 memiliki beberapa kata kunci cadangan baru yang dapat bertentangan dengan nama objek database yang ada.

Untuk membantu Anda mengidentifikasi ketidakcocokan ini sebelum memutakhirkan mesin, Aurora MySQL menjalankan serangkaian pemeriksaan kompatibilitas pemutakhiran (prechecks) untuk menentukan apakah ada objek yang tidak kompatibel dalam kamus database Anda, sebelum melakukan pemutakhiran kamus data. Untuk informasi lebih lanjut tentang prechecks, lihat[Pra-pemeriksaan peningkatan versi mayor untuk Aurora MySQL](AuroraMySQL.upgrade-prechecks.md).

## Perbedaan fitur antara Aurora MySQL versi 2 dan 3
<a name="AuroraMySQL.Compare-v2-v3-features"></a>

Fitur Amazon Aurora MySQL berikut didukung di Aurora MySQL for MySQL 5.7, tetapi fitur ini tidak didukung di Aurora MySQL for MySQL 8.0:
+ Anda tidak dapat menggunakan Aurora MySQL versi 3 untuk klaster Aurora Serverless v1. Aurora MySQL versi 3 berfungsi dengan Aurora Serverless v2.
+ Mode lab tidak berlaku untuk Aurora MySQL versi 3. Tidak ada fitur mode lab apa pun di Aurora MySQL versi 3. DDL instan menggantikan fitur DDL online cepat yang sebelumnya tersedia dalam mode lab. Sebagai contoh, lihat [DDL instan (Aurora MySQL versi 3)](AuroraMySQL.Managing.FastDDL.md#AuroraMySQL.mysql80-instant-ddl).
+ Cache kueri dihapus dari MySQL 8.0 komunitas dan juga dari Aurora MySQL versi 3.
+ Aurora MySQL versi 3 kompatibel dengan fitur hash join MySQL komunitas. Implementasi khusus Aurora untuk hash join di Aurora MySQL versi 2 tidak digunakan. Untuk informasi tentang menggunakan hash join dengan kueri paralel Aurora, lihat [Mengaktifkan hash join untuk klaster kueri paralel](aurora-mysql-parallel-query-enabling.md#aurora-mysql-parallel-query-enabling-hash-join) dan [Petunjuk Aurora MySQL](AuroraMySQL.Reference.Hints.md). Untuk informasi penggunaan umum tentang hash join, lihat [Hash Join Optimization](https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html) dalam *Panduan Referensi MySQL*.
+ Prosedur tersimpan `mysql.lambda_async` yang sudah dihentikan di Aurora MySQL versi 2 dihapus di versi 3. Untuk versi 3, gunakan fungsi asinkron `lambda_async` sebagai gantinya.
+ Set karakter default di Aurora MySQL versi 3 adalah `utf8mb4`. Di Aurora MySQL versi 2, set karakter default adalah `latin1`. Untuk informasi tentang set karakter ini, lihat [The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding)](https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html) dalam *Panduan Referensi MySQL*.

Beberapa fitur Aurora MySQL tersedia untuk kombinasi tertentu dari AWS Region dan versi mesin DB. Untuk detailnya, lihat [Fitur yang didukung di Amazon Aurora oleh dan mesin Wilayah AWS Aurora DB](Concepts.AuroraFeaturesRegionsDBEngines.grids.md).

## Dukungan kelas instans
<a name="AuroraMySQL.mysql80-instance-classes"></a>

Aurora MySQL versi 3 mendukung set kelas instans yang berbeda dari Aurora MySQL versi 2:
+ Untuk instans yang lebih besar, Anda dapat menggunakan kelas instans modern seperti `db.r5`, `db.r6g`, dan `db.x2g`.
+ Untuk instans yang lebih kecil, Anda dapat menggunakan kelas instans modern seperti `db.t3` dan `db.t4g`.
**catatan**  
Kami menyarankan penggunaan kelas instans DB T hanya untuk server pengembangan dan pengujian, atau server non-produksi lainnya. Untuk detail selengkapnya tentang kelas instans T, lihat [Menggunakan kelas instans T untuk pengembangan dan pengujian](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.T2Medium).

Kelas instans berikut dari Aurora MySQL versi 2 tidak tersedia untuk Aurora MySQL versi 3:
+  `db.r4` 
+  `db.r3` 
+  `db.t3.small` 
+  `db.t2` 

 Periksa skrip administrasi Anda untuk menemukan pernyataan CLI yang membuat instans DB Aurora MySQL. Lakukan hard-coding terhadap nama kelas instans yang tidak tersedia untuk Aurora MySQL versi 3. Jika perlu, ubah nama kelas instans menjadi nama yang didukung Aurora MySQL versi 3. 

**Tip**  
 Untuk memeriksa kelas instance yang dapat Anda gunakan untuk kombinasi tertentu dari versi Aurora MySQL dan AWS Region, gunakan perintah. `describe-orderable-db-instance-options` AWS CLI 

 Untuk detail selengkapnya tentang kelas instans Aurora, lihat [Kelas instans Amazon Aurora DB](Concepts.DBInstanceClass.md). 

## Perubahan parameter untuk Aurora MySQL versi 3
<a name="AuroraMySQL.mysql80-parameter-changes"></a>

Aurora MySQL versi 3 mencakup parameter konfigurasi tingkat klaster dan tingkat instans baru. Aurora MySQL versi 3 juga menghapus beberapa parameter yang ada di Aurora MySQL versi 2. Beberapa nama parameter diubah sebagai hasil dari inisiatif untuk bahasa inklusif. Untuk kompatibilitas mundur, Anda masih dapat mengambil nilai parameter menggunakan nama lama atau nama baru. Namun, Anda harus menggunakan nama baru untuk menentukan nilai parameter dalam grup parameter kustom.

Di Aurora MySQL versi 3, nilai parameter `lower_case_table_names` diatur secara permanen pada saat klaster dibuat. Jika Anda menggunakan nilai nondefault untuk opsi ini, siapkan grup parameter kustom Aurora MySQL versi 3 Anda sebelum meningkatkan. Kemudian, tentukan grup parameter selama operasi pembuatan klaster atau pemulihan snapshot.

**catatan**  
Dengan basis data global Aurora berdasarkan Aurora MySQL, Anda tidak dapat melakukan peningkatan di tempat dari Aurora MySQL versi 2 ke versi 3 jika parameter `lower_case_table_names` diaktifkan. Gunakan metode pemulihan snapshot sebagai gantinya.

Di Aurora MySQL versi 3, parameter `init_connect` dan `read_only` tidak berlaku untuk pengguna yang memiliki hak akses `CONNECTION_ADMIN`. Ini termasuk pengguna master Aurora. Untuk informasi selengkapnya, lihat [Model hak akses berbasis peran](AuroraMySQL.Compare-80-v3.md#AuroraMySQL.privilege-model).

Untuk daftar lengkap parameter klaster Aurora MySQL, lihat [Parameter tingkat klaster](AuroraMySQL.Reference.ParameterGroups.md#AuroraMySQL.Reference.Parameters.Cluster). Tabel ini mencakup semua parameter dari Aurora MySQL versi 2 dan 3. Tabel ini mencakup catatan yang menunjukkan parameter mana yang baru di Aurora MySQL versi 3 atau yang telah dihapus dari Aurora MySQL versi 3.

Untuk daftar lengkap parameter instans MySQL Aurora, lihat [Parameter tingkat instans](AuroraMySQL.Reference.ParameterGroups.md#AuroraMySQL.Reference.Parameters.Instance). Tabel ini mencakup semua parameter dari Aurora MySQL versi 2 dan 3. Tabel ini mencakup catatan yang menunjukkan parameter mana yang baru di Aurora MySQL versi 3 dan parameter mana yang dihapus dari Aurora MySQL versi 3. Ini juga mencakup catatan yang menunjukkan parameter mana yang dapat dimodifikasi di versi sebelumnya, tetapi bukan Aurora MySQL versi 3.

Untuk informasi tentang nama parameter yang berubah, lihat [Perubahan bahasa inklusif untuk Aurora MySQL versi 3](#AuroraMySQL.8.0-inclusive-language).

## Variabel status
<a name="AuroraMySQL.mysql80-status-vars"></a>

Untuk informasi tentang variabel status yang tidak berlaku untuk Aurora MySQL, lihat [Variabel status MySQL yang tidak berlaku untuk Aurora MySQL](AuroraMySQL.Reference.GlobalStatusVars.md#AuroraMySQL.Reference.StatusVars.Inapplicable).

## Perubahan bahasa inklusif untuk Aurora MySQL versi 3
<a name="AuroraMySQL.8.0-inclusive-language"></a>

 Aurora MySQL versi 3 kompatibel dengan versi 8.0.23 MySQL edisi komunitas. Aurora MySQL versi 3 juga mencakup perubahan dari MySQL 8.0.26 terkait dengan kata kunci dan skema sistem untuk bahasa inklusif. Misalnya, perintah `SHOW REPLICA STATUS` sekarang lebih disarankan daripada `SHOW SLAVE STATUS`. 

 CloudWatch Metrik Amazon berikut memiliki nama baru di Aurora MySQL versi 3. 

 Di Aurora MySQL versi 3, hanya nama metrik baru yang tersedia. Pastikan untuk memperbarui alarm atau otomatisasi lain yang bergantung pada nama metrik saat Anda meningkatkan ke Aurora MySQL versi 3. 


|  Nama lama  |  Nama baru  | 
| --- | --- | 
|  ForwardingMasterDMLLatency  |  ForwardingWriterDMLLatency  | 
|  ForwardingMasterOpenSessions  |  ForwardingWriterOpenSessions  | 
|  AuroraDMLRejectedMasterFull  |  AuroraDMLRejectedWriterFull  | 
|  ForwardingMasterDMLThroughput  |  ForwardingWriterDMLThroughput  | 

 Variabel status berikut memiliki nama baru di Aurora MySQL versi 3. 

 Untuk kompatibilitas, Anda dapat menggunakan salah satu nama ini dalam rilis awal Aurora MySQL versi 3. Nama variabel status lama akan dihapus dalam rilis mendatang. 


|  Nama yang akan dihapus  |  Nama yang baru atau direkomendasikan  | 
| --- | --- | 
|  Aurora\$1fwd\$1master\$1dml\$1stmt\$1duration  |  Aurora\$1fwd\$1writer\$1dml\$1stmt\$1duration  | 
|  Aurora\$1fwd\$1master\$1dml\$1stmt\$1count  |  Aurora\$1fwd\$1writer\$1dml\$1stmt\$1count  | 
|  Aurora\$1fwd\$1master\$1select\$1stmt\$1duration  |  Aurora\$1fwd\$1writer\$1select\$1stmt\$1duration  | 
|  Aurora\$1fwd\$1master\$1select\$1stmt\$1count  |  Aurora\$1fwd\$1writer\$1select\$1stmt\$1count  | 
|  Aurora\$1fwd\$1master\$1errors\$1session\$1timeout  |  Aurora\$1fwd\$1writer\$1errors\$1session\$1timeout  | 
|  Aurora\$1fwd\$1master\$1open\$1sessions  |  Aurora\$1fwd\$1writer\$1open\$1sessions  | 
|  Aurora\$1fwd\$1master\$1errors\$1session\$1limit  |  Aurora\$1fwd\$1writer\$1errors\$1session\$1limit  | 
|  Aurora\$1fwd\$1master\$1errors\$1rpc\$1timeout  |  Aurora\$1fwd\$1writer\$1errors\$1rpc\$1timeout  | 

Parameter konfigurasi berikut memiliki nama baru di Aurora MySQL versi 3.

Untuk kompatibilitas, Anda dapat memeriksa nilai parameter di klien `mysql` dengan menggunakan salah satu nama dalam rilis awal Aurora MySQL versi 3. Anda hanya dapat menggunakan nama baru saat memodifikasi nilai dalam grup parameter kustom. Nama parameter lama akan dihapus dalam rilis mendatang.


|  Nama yang akan dihapus  |  Nama yang baru atau direkomendasikan  | 
| --- | --- | 
|  aurora\$1fwd\$1master\$1idle\$1timeout  |  aurora\$1fwd\$1writer\$1idle\$1timeout  | 
|  aurora\$1fwd\$1master\$1max\$1connections\$1pct  |  aurora\$1fwd\$1writer\$1max\$1connections\$1pct  | 
|  master\$1verify\$1checksum  |  source\$1verify\$1checksum  | 
|  sync\$1master\$1info  |  sync\$1source\$1info  | 
|  init\$1slave  |  init\$1replica  | 
|  rpl\$1stop\$1slave\$1timeout  |  rpl\$1stop\$1replica\$1timeout  | 
|  log\$1slow\$1slave\$1statements  |  log\$1slow\$1replica\$1statements  | 
|  slave\$1max\$1allowed\$1packet  |  replica\$1max\$1allowed\$1packet  | 
|  slave\$1compressed\$1protocol  |  replica\$1compressed\$1protocol  | 
|  slave\$1exec\$1mode  |  replica\$1exec\$1mode  | 
|  slave\$1type\$1conversions  |  replica\$1type\$1conversions  | 
|  slave\$1sql\$1verify\$1checksum  |  replica\$1sql\$1verify\$1checksum  | 
|  slave\$1parallel\$1type  |  replica\$1parallel\$1type  | 
|  slave\$1preserve\$1commit\$1order  |  replica\$1preserve\$1commit\$1order  | 
|  log\$1slave\$1updates  |  log\$1replica\$1updates  | 
|  slave\$1allow\$1batching  |  replica\$1allow\$1batching  | 
|  slave\$1load\$1tmpdir  |  replica\$1load\$1tmpdir  | 
|  slave\$1net\$1timeout  |  replica\$1net\$1timeout  | 
|  sql\$1slave\$1skip\$1counter  |  sql\$1replica\$1skip\$1counter  | 
|  slave\$1skip\$1errors  |  replica\$1skip\$1errors  | 
|  slave\$1checkpoint\$1period  |  replica\$1checkpoint\$1period  | 
|  slave\$1checkpoint\$1group  |  replica\$1checkpoint\$1group  | 
|  slave\$1transaction\$1retries  |  replica\$1transaction\$1retries  | 
|  slave\$1parallel\$1workers  |  replica\$1parallel\$1workers  | 
|  slave\$1pending\$1jobs\$1size\$1max  |  replica\$1pending\$1jobs\$1size\$1max  | 
|  pseudo\$1slave\$1mode  |  pseudo\$1replica\$1mode  | 

 Prosedur tersimpan berikut memiliki nama baru di Aurora MySQL versi 3. 

 Untuk kompatibilitas, Anda dapat menggunakan salah satu nama ini dalam rilis awal Aurora MySQL versi 3. Nama prosedur lama akan dihapus dalam rilis mendatang. 


|  Nama yang akan dihapus  |  Nama yang baru atau direkomendasikan  | 
| --- | --- | 
|  mysql.rds\$1set\$1master\$1auto\$1position  |  mysql.rds\$1set\$1source\$1auto\$1position  | 
|  mysql.rds\$1set\$1external\$1master  |  mysql.rds\$1set\$1external\$1source  | 
|  mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position  |  mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position  | 
|  mysql.rds\$1reset\$1external\$1master  |  mysql.rds\$1reset\$1external\$1source  | 
|  mysql.rds\$1next\$1master\$1log  |  mysql.rds\$1next\$1source\$1log  | 

## Nilai AUTO\$1INCREMENT
<a name="AuroraMySQL.mysql80-autoincrement"></a>

 Di Aurora MySQL versi 3, Aurora mempertahankan nilai `AUTO_INCREMENT` untuk setiap tabel saat mengaktifkan ulang setiap instans DB. Di Aurora MySQL versi 2, nilai `AUTO_INCREMENT` tidak dipertahankan setelah pengaktifan ulang. 

 `AUTO_INCREMENT`Nilai tidak dipertahankan saat Anda menyiapkan klaster baru dengan memulihkan dari snapshot, melakukan point-in-time pemulihan, dan mengkloning kloning klaster. Dalam kasus ini, nilai `AUTO_INCREMENT` diinisialisasi ke nilai berdasarkan nilai kolom terbesar dalam tabel pada saat snapshot dibuat. Perilaku ini berbeda dari di RDS for MySQL 8.0, yang mempertahankan nilai selama operasi `AUTO_INCREMENT` ini. 

## Replikasi log biner
<a name="AuroraMySQL.mysql80-binlog"></a>

 Dalam MySQL 8.0 edisi komunitas, replikasi log biner diaktifkan secara default. Di Aurora MySQL versi 3, replikasi log biner dinonaktifkan secara default. 

**Tip**  
 Jika persyaratan ketersediaan tinggi Anda dipenuhi oleh fitur replikasi default Aurora, Anda dapat menonaktifkan replikasi log biner. Dengan begitu, Anda dapat menghindari overhead performa replikasi log biner. Anda juga dapat menghindari pemantauan dan pemecahan masalah terkait yang diperlukan untuk mengelola replikasi log biner. 

 Aurora mendukung replikasi log biner dari sumber yang kompatibel dengan MySQL 5.7 ke Aurora MySQL versi 3. Sistem sumber dapat berupa klaster DB Aurora MySQL, instans DB RDS for MySQL, atau instans MySQL on-premise. 

 Seperti halnya MySQL komunitas, Aurora MySQL mendukung replikasi dari sumber yang menjalankan versi tertentu ke target yang menjalankan versi mayor yang sama atau satu versi mayor yang lebih tinggi. Misalnya, replikasi dari sistem yang kompatibel dengan MySQL 5.6 ke Aurora MySQL versi 3 tidak didukung. Replikasi dari Aurora MySQL versi 3 ke sistem yang kompatibel dengan MySQL 5.7 atau MySQL 5.6 tidak didukung. Untuk detail tentang menggunakan replikasi log biner, lihat [Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi log biner)](AuroraMySQL.Replication.MySQL.md). 

 Aurora MySQL versi 3 mencakup perbaikan replikasi log biner di MySQL 8.0, komunitas seperti replikasi yang difilter. Untuk detail tentang peningkatan MySQL 8.0 komunitas, lihat [How Servers Evaluate Replication Filtering Rules](https://dev.mysql.com/doc/refman/8.0/en/replication-rules.html) dalam *Panduan Referensi MySQL*. 

### Kompresi transaksi untuk replikasi log biner
<a name="AuroraMySQL.binlog-transaction-compression"></a>

 Untuk informasi penggunaan tentang kompresi log biner, lihat [Binary Log Transaction Compression](https://dev.mysql.com/doc/refman/8.0/en/binary-log-transaction-compression.html) dalam Panduan Referensi MySQL. 

 Batasan berikut berlaku untuk kompresi log biner di Aurora MySQL versi 3: 
+  Transaksi yang data log binernya lebih besar dari ukuran paket maksimum yang diizinkan tidak akan dikompresi. Hal ini berlaku terlepas dari apakah pengaturan kompresi log biner Aurora MySQL diaktifkan atau tidak. Transaksi semacam itu direplikasi tanpa dikompresi. 
+  Jika Anda menggunakan konektor untuk pengambilan data perubahan (CDC) yang belum mendukung MySQL 8.0, Anda tidak dapat menggunakan fitur ini. Kami menyarankan Anda menguji konektor pihak ketiga secara menyeluruh dengan kompresi log biner. Selain itu, kami menyarankan Anda melakukannya sebelum mengaktifkan kompresi binlog pada sistem yang menggunakan replikasi binlog untuk CDC. 