全部产品
Search
文档中心

ApsaraDB RDS:Peningkatan Versi Utama Database

更新时间:Nov 10, 2025

ApsaraDB RDS untuk MySQL menyediakan dua metode untuk meningkatkan versi utama database. Anda dapat meningkatkan versi langsung melalui Konsol atau membeli instans ApsaraDB RDS untuk MySQL baru dengan versi lebih tinggi dan menggunakan Data Transmission Service (DTS) untuk migrasi data dari instans lama ke yang baru, secara tidak langsung menaikkan versi database.

Catatan

ApsaraDB RDS for MySQL tidak mendukung penurunan versi langsung dari Konsol. Untuk menurunkan versi, Anda dapat membeli instans RDS dengan versi sebelumnya dan menggunakan DTS untuk memindahkan data dari instans terbaru ke instans sebelumnya. Setelah memverifikasi keberhasilan migrasi, Anda dapat melepaskan instans dengan versi terbaru.

Pilih metode peningkatan

Kedua Metode 1: Tingkatkan versi database langsung di Konsol dan Metode 2: Tingkatkan versi database menggunakan DTS didukung untuk semua versi utama MySQL, termasuk peningkatan dari MySQL 5.5 ke 5.6, 5.6 ke 5.7, dan 5.7 ke 8.0. Sebelum meningkatkan database, pilih metode yang sesuai berdasarkan informasi berikut:

  • Jika instans Anda termasuk dalam salah satu dari empat kategori berikut dan konfigurasinya memenuhi persyaratan, gunakan Metode 1: Tingkatkan versi database langsung di Konsol.

    Catatan

    Instans tanpa server tidak mendukung peningkatan langsung dari Konsol. Anda harus menggunakan Metode 2: Tingkatkan versi database menggunakan DTS.

    Edisi Kluster (ESSD dan disk performa premium)

    • Batasan Replikasi Grup: Anda tidak dapat meningkatkan instans Edisi Kluster yang menggunakan Replikasi Grup MySQL (MGR).

    • Batasan Proksi Database (jika berlaku): Versi minor proksi database harus 1.13.41 atau lebih baru.

    • Batasan Status Instans: Instans harus dalam status Running. Node primer dan sekunder harus sehat dan tidak memiliki latensi replikasi.

    • Batasan Mesin: Database dan semua tabelnya harus menggunakan mesin penyimpanan InnoDB.

    • Instans tidak boleh menggunakan tipe instans yang dihentikan.

    Edisi Ketersediaan Tinggi (ESSD dan disk performa premium)

    • Batasan Proksi Database (jika berlaku): Versi minor proksi database harus 1.13.41 atau lebih baru.

    • Batasan Status Instans: Instans harus dalam status Running. Node primer dan sekunder harus sehat dan tidak memiliki latensi replikasi.

    • Batasan Mesin: Database dan semua tabelnya harus menggunakan mesin penyimpanan InnoDB.

    • Instans tersebut tidak boleh menggunakan tipe instans yang sudah ditinggalkan.

    Edisi Ketersediaan Tinggi (disk lokal performa premium)

    • Batasan Enkripsi: Fitur Enkripsi Data Transparan (TDE) harus dinonaktifkan. Jika TDE diaktifkan pada instans Anda, Anda harus menggunakan Metode 2: Tingkatkan versi database menggunakan DTS.

    • Batasan Proksi Database (jika berlaku): Versi minor proksi database harus 1.13.41 atau lebih baru.

    • Batasan Status Instans: Instans harus dalam status Running. Node primer dan sekunder harus sehat dan tidak memiliki latensi replikasi.

    • Batasan Jumlah Tabel: Jumlah tabel tidak boleh melebihi 1 juta.

    • Batasan Mesin: Database dan semua tabelnya harus menggunakan mesin penyimpanan InnoDB.

    • Batasan Tipe Instans: Versi database setelah peningkatan harus mendukung tipe instans asli dari instans primer dan instans hanya baca. Instans tersebut tidak boleh menggunakan tipe instans yang sudah ditinggalkan. Untuk informasi lebih lanjut, lihat Tipe Instans ApsaraDB RDS untuk MySQL Primer.

    Edisi Dasar (ESSD dan disk performa premium)

    • Batasan Status Instans: Instans harus dalam status Running.

    • Batasan Mesin: Database dan semua tabelnya harus menggunakan mesin penyimpanan InnoDB.

    • Instans tidak boleh menggunakan tipe instans usang.

Untuk meningkatkan versi utama database dari mesin database lainnya, lihat topik-topik berikut:

Metode 1: Tingkatkan versi database secara langsung di konsol

Persiapan

  1. Pahami perbedaan dan manfaat versi baru

  2. Pahami proses peningkatan dan dampaknya

    • Batasan Rentang Versi: Anda tidak dapat melakukan peningkatan lintas versi utama. Secara default, instans akan ditingkatkan ke versi minor terbaru dari versi utama target. Contohnya, Anda tidak dapat langsung menaikkan versi instans dari MySQL 5.6 ke MySQL 8.0. Anda harus terlebih dahulu menaikkannya ke MySQL 5.7, lalu ke MySQL 8.0.

    • Batasan Penurunan Versi: Anda tidak dapat langsung menurunkan versi dari Konsol. Anda dapat membeli instans RDS yang menjalankan versi sebelumnya dan menggunakan DTS untuk memigrasikan data dari instans dengan versi lebih baru ke instans dengan versi lebih lama. Setelah memverifikasi bahwa migrasi berhasil, Anda dapat melepaskan instans dengan versi lebih baru.

    • Proses Peningkatan untuk Instans dengan Disk Lokal Performa Premium: Sistem pertama-tama meningkatkan node sekunder. Setelah peningkatan selesai, terjadi failover primer-sekunder. Kemudian, sistem meningkatkan node primer asli. Proses peningkatan menyebabkan gangguan layanan selama 30 hingga 60 detik. Kami sarankan Anda melakukan peningkatan selama jam-jam sepi.

    • Proses Peningkatan untuk Instans dengan ESSD: Sistem membuat node baru dan melakukan peningkatan pada node baru tersebut. Setelah peningkatan pada node baru selesai, koneksi dialihkan ke node tersebut. Proses peningkatan menyebabkan gangguan layanan selama 30 hingga 60 detik. Kami sarankan Anda melakukan peningkatan selama jam-jam sepi.

  3. Periksa Konfigurasi Instans dan Database

    • Periksa Kata Kunci yang Dicadangkan: Periksa fungsi yang ditentukan pengguna untuk memastikan mereka tidak menggunakan kata kunci yang dicadangkan.

    • Periksa Cadangan Penuh: Pastikan cadangan data penuh yang berhasil dibuat dalam minggu terakhir. Jika tidak, lakukan cadangan data penuh.

    • Periksa Mekanisme Penyambungan Otomatis: Selama peningkatan database, RDS melakukan alih bencana instans. Kami sarankan Anda melakukan peningkatan selama jam-jam sepi atau memastikan aplikasi Anda memiliki mekanisme penyambungan otomatis. Untuk informasi lebih lanjut tentang dampak alih bencana instans, lihat Dampak Alih Bencana Instans.

    • Periksa Ruang Penyimpanan yang Tersedia: Pastikan Anda memiliki cukup ruang disk kosong sebelum peningkatan. Kami sarankan menyisakan setidaknya 10 GB.

    • Sesuaikan Kebijakan Pembersihan Log: Tingkatkan periode retensi dan persentase maksimum penggunaan penyimpanan untuk log lokal. Untuk informasi lebih lanjut, lihat Ubah Kebijakan Log Lokal.

    • Cadangkan Parameter Instans: Untuk memastikan stabilitas dan kinerja versi MySQL baru, RDS menghapus beberapa parameter dari versi lama. Anda tidak dapat lagi melihat atau memodifikasi parameter ini setelah peningkatan. Sebelum melakukan peningkatan versi utama, cadangkan catatan modifikasi parameter relevan untuk operasi dan audit di masa mendatang.

    • Untuk peningkatan dari 5.6 ke 5.7 atau dari 5.7 ke 8.0, Anda harus melakukan pemeriksaan tambahan berikut:

      Tingkatkan dari 5.6 ke 5.7

      Periksa Indeks Teks Penuh dan Informasi Versi: Untuk database pada instans RDS for MySQL 5.6 dengan versi minor lebih awal dari 20221130, indeks teks penuh dibuat di ruang tabel sistem. Peningkatan ke versi 5.7 mungkin merusak ruang tabel. Jika instans Anda menjalankan versi minor lebih awal, tingkatkan terlebih dahulu ke versi minor terbaru RDS for MySQL 5.6, lalu tingkatkan versi utama database. Untuk informasi lebih lanjut, lihat FAQ.

      Tingkatkan dari 5.7 ke 8.0

      • Periksa Kompatibilitas Fitur: Jika prosedur tersimpan, pemicu, tampilan, atau fungsi di database Anda menggunakan fitur yang tidak didukung oleh MySQL 8.0, ubahlah sebelum peningkatan. Jika tidak, peningkatan akan gagal.

      • Periksa Dependensi Tabel Sistem: Periksa apakah layanan Anda bergantung pada tabel sistem MySQL 5.7 (tabel dalam database sys, mysql, information_schema, dan performance_schema). Beberapa tabel sistem di MySQL 5.7 diubah selama peningkatan ke 8.0. Sebagai contoh, tabel mungkin dihapus, diganti namanya, atau skemanya diubah. Jika layanan Anda bergantung pada tabel-tabel ini, mereka mungkin mengalami kesalahan.

      • Periksa Kompatibilitas Tipe Data: RDS for MySQL 8.0 tidak lagi mendukung beberapa tipe data dari versi lama. Jika tabel berisi bidang dengan tipe data yang tidak didukung di MySQL 8.0, Anda harus menyelesaikan masalah ini dengan menjalankan REPAIR TABLE atau dengan melakukan ekspor dan impor logis sebelum peningkatan. Untuk informasi lebih lanjut, lihat Menyiapkan Instalasi Anda untuk Peningkatan.

      • Periksa Nilai comment: Versi minor MySQL 8.0 dari 20221231 memperkenalkan parameter loose_upgrade_clear_invalid_comment. Saat parameter ini disetel ke ON (nilai default), karakter acak dalam komentar tabel, bidang, dan indeks secara otomatis dibersihkan selama peningkatan untuk mencegah kegagalan. Oleh karena itu, sebelum peningkatan, periksa apakah nilai comment di tabel database Anda mengandung karakter acak. Jika iya, comment akan dibersihkan.

      • Periksa Prosedur Tersimpan: Jika prosedur tersimpan atau fungsi di database Anda mengandung karakter acak, perbaiki sebelum peningkatan untuk mencegah kegagalan.

      • Periksa Tipe Data Waktu dari MySQL 5.5 dan Sebelumnya: Jika database Anda berisi tabel dengan tipe data waktu dari MySQL 5.5 atau sebelumnya, bangun ulang tabel sebelum meningkatkan ke MySQL 8.0 untuk mencegah kegagalan.

        • Jalankan pernyataan SQL berikut untuk memeriksa apakah instans database Anda berisi tabel dengan tipe data waktu dari MySQL 5.5 atau sebelumnya:

          # Tampilkan tipe data waktu lama.
          SET SESSION show_old_temporals= ON;
          
          # Kueri untuk tabel yang berisi tipe data waktu lama.
          SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE FROM information_schema.columns WHERE COLUMN_TYPE IN ("time /* 5.5 binary format */ ", "timestamp /* 5.5 binary format */", "datetime /* 5.5 binary format */ ");
        • Jika tabel berisi tipe data waktu dari MySQL 5.5 atau sebelumnya, Anda dapat menjalankan perintah berikut untuk membangun ulang skema tabel:

          # Bangun ulang tabel.
          ALTER TABLE <table_name> FORCE;
  4. Pengujian dan Simulasi Pra-Peningkatan

    • Pengujian Sintaksis: Sebelum peningkatan, buat instans RDS baru dengan versi lebih baru untuk menguji kompatibilitas sintaksis. Ini membantu menghindari masalah di mana sintaksis atau fitur dari versi sebelumnya tidak didukung setelah peningkatan.

    • Simulasi Peningkatan: Sebelum peningkatan, klon instans asli dan gunakan instans klon untuk menguji peningkatan. Setelah Anda memastikan bahwa semua fitur bekerja seperti yang diharapkan, tingkatkan instans asli.

  5. Catatan Pasca-Peningkatan

    • Kembalikan Instans ke Versi Lama: Anda dapat menggunakan cadangan disk cloud dari versi lama untuk mengembalikan instans ke versi tersebut. Ini tidak didukung untuk instans dengan disk lokal performa premium.

    • Kembalikan Instans ke Versi Baru: Anda tidak dapat menggunakan set cadangan dari versi lama untuk mengembalikan instans ke versi baru. Untuk melakukan pemulihan, gunakan set cadangan yang dibuat setelah instans ditingkatkan.

Prosedur

Pilih metode peningkatan berdasarkan skenario peningkatan:

Metode Pemutakhiran

Skenario peningkatan

Lakukan pemeriksaan awal lalu tingkatkan

  • Edisi Ketersediaan Tinggi (disk lokal performa premium): Tingkatkan dari 5.6 ke 5.7 atau dari 5.7 ke 8.0.

  • Edisi Ketersediaan Tinggi (ESSD atau disk performa premium) dan Edisi Kluster (ESSD atau disk performa premium): Tingkatkan dari 5.7 ke 8.0.

Peningkatan langsung

  • Edisi Ketersediaan Tinggi dengan disk lokal performa premium: Tingkatkan dari 5.5 ke 5.6.

  • Edisi Dasar (ESSD atau disk performa premium): Tingkatkan dari 5.7 ke 8.0.

Lakukan pemeriksaan awal lalu tingkatkan

  1. Pergi ke halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans Anda berada. Lalu, klik ID instans.

  2. Di panel navigasi di sebelah kiri, klik Major Version Upgrade untuk pergi ke halaman Pre-upgrade Check.

  3. Dari daftar drop-down Select Upgrade Version, pilih nomor versi target dan klik Create Upgrade Check Report. Untuk informasi lebih lanjut tentang laporan, lihat Deskripsi Laporan Pemeriksaan Peningkatan Versi Utama.

    image

  4. Setelah pemeriksaan selesai dan Anda memastikan tidak ada risiko, beralihlah ke tab Upgrade Instance.

  5. Dari daftar drop-down Select Upgrade Version, pilih nomor versi target dan klik Upgrade Instance.

    image

  6. Di kotak dialog Upgrade Major Version Of Instance, konfirmasikan versi target, pilih Switch Time, dan klik Upgrade Now.

    image

Peningkatan langsung

  1. Pergi ke halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans Anda berada. Lalu, klik ID instans.

  2. Di bagian Basic Information > Configuration Information, klik Upgrade Database Version.

    Catatan

    Jika opsi ini tidak tersedia, periksa apakah instans Anda memenuhi persyaratan peningkatan.

  3. Di kotak dialog yang muncul, pilih Switch Immediately atau Switch Within Maintenance Window, lalu klik OK.

    • Switch Immediately: Memulai peningkatan segera.

    • Switch Within Maintenance Window: Melakukan peningkatan dalam jendela pemeliharaan yang ditentukan. Anda juga dapat mengklik Settings di sebelah Maintenance Window untuk dengan cepat mengubah jendela pemeliharaan.

    Catatan

    Selama peningkatan, status instans adalah Migrating Version.

Metode 2: Tingkatkan versi database menggunakan DTS

Untuk instans yang tidak mendukung peningkatan langsung melalui Konsol, Anda dapat membuat instans baru dengan versi database yang lebih baru. Selanjutnya, gunakan tugas migrasi data DTS untuk memigrasi data dari instans asli ke instans baru. Proses ini secara tidak langsung meningkatkan versi database dan mencakup langkah-langkah berikut:

  1. Buat Instans Baru

  2. Migrasikan Data ke Instans Baru

  3. Lepaskan Instans Asli

Contoh: Misalkan Anda memiliki instans MySQL 5.7 dengan Enkripsi Data Transparan (TDE) diaktifkan, yang tidak dapat ditingkatkan langsung melalui Konsol. Dalam situasi ini, Anda dapat membuat instans baru yang menjalankan MySQL 8.0, migrasikan data dari instans asli ke instans baru, dan akhirnya lepaskan instans asli. Ini akan secara tidak langsung menaikkan versi database.

Penting

Setelah melakukan migrasi data lintas versi, uji kompatibilitas dan pantau instans selama periode waktu tertentu. Setelah Anda memastikan bahwa semuanya berfungsi normal, lepaskan instans asli.

Lampiran 1: Manfaat peningkatan dari MySQL 5.7 ke MySQL 8.0

  • Meningkatkan keamanan serta memberikan fleksibilitas lebih besar dalam pengelolaan akun.

  • Menambahkan dukungan untuk pembuatan dan pengelolaan kelompok sumber daya.

  • Memperkuat fitur mesin penyimpanan InnoDB.

  • Menyediakan dukungan untuk set karakter baru, tipe data, sintaksis, kunci cadangan baru, dan flag optimizer_switch.

  • Memperluas fungsionalitas JSON dan XML.

  • Memperkuat kemampuan pengoptimal.

  • Meningkatkan kinerja replikasi.

  • Menambahkan dukungan untuk pembuatan indeks bernilai banyak dan optimasi penurunan kondisi turunan.

  • Menyediakan dukungan untuk pembacaan tabel grant MySQL.

  • Menambahkan kontrol terhadap alokasi sumber daya.

Lampiran 2: Manfaat peningkatan dari MySQL 5.6 ke MySQL 5.7

  • Menambahkan fitur seperti manajemen kata sandi, penguncian akun, dan koneksi terenkripsi untuk meningkatkan keamanan database.

  • Mendukung operasi Online DDL, termasuk mengganti nama indeks menggunakan RENAME INDEX.

  • Meningkatkan skalabilitas engine InnoDB dan performa tabel sementara, sehingga mempercepat pemuatan data.

  • Menyediakan dukungan untuk JSON.

  • Mendukung Index Condition Pushdown (ICP) untuk tabel partisi dan indeks spasial InnoDB baru.

  • Mengoptimalkan sebagian besar parser, pengoptimal, dan model biaya untuk meningkatkan kemampuan pemeliharaan, skalabilitas, serta performa database.

  • Memperluas jangkauan set karakter yang didukung, termasuk set karakter GB18030 sesuai standar nasional Tiongkok.

  • Menyediakan plugin parser teks lengkap ngram, yang mendukung bahasa Tiongkok, Jepang, dan Korea.

  • Mengoptimalkan utas dump sumber untuk mengurangi konten kunci dan meningkatkan throughput sumber.

  • Secara signifikan mengurangi latensi replikasi.

  • Menambahkan sys system database, yang menyediakan berbagai metrik, mengurangi penggunaan penyimpanan, serta meningkatkan kegunaan database secara keseluruhan.

Lampiran 3: Perbedaan fitur antara MySQL 8.0 dan MySQL 5.7

Catatan

Tabel berikut mencantumkan beberapa perbedaan utama antara MySQL 8.0 dan MySQL 5.7. Untuk informasi lebih lengkap mengenai perbedaan lainnya, lihat Catatan Rilis MySQL.

Fitur

5.7

8.0

Sintaks GRANT ... IDENTIFIED BY PASSWORD

Didukung

Tidak didukung

Fungsi PASSWORD()

Didukung

Tidak didukung

Sintaks FLUSH QUERY CACHE dan RESET QUERY CACHE

Didukung

Tidak didukung

Parameter untuk variabel sistem SQL_MODE: DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS

Didukung

Tidak didukung

Pengurutan otomatis default untuk sintaks GROUP BY

Didukung

Tidak didukung

Sintaks yang berisi kata kunci EXTENDED atau PARTITIONS

Didukung

Tidak didukung

Fungsi enkripsi seperti ENCODE(), DECODE(), dan ENCRYPT()

Didukung

Tidak didukung

Fungsi terkait analisis spasial

Didukung

Tidak didukung

Fungsi yang sebelumnya menerima argumen string WKB atau geometri tetapi tidak lagi menerima argumen geometri

Didukung

Tidak didukung

Menguraikan \N sebagai NULL

Didukung

Tidak didukung

Fungsi PROCEDURE ANALYSE()

Didukung

Tidak didukung

Membuat tabel partisi menggunakan Mesin penyimpanan NDB

Didukung

Tidak didukung

Kompresi tabel sementara menggunakan Mesin penyimpanan InnoDB

Didukung

Tidak didukung

Fungsi JSON_APPEND()

Didukung

Tidak didukung

Dukungan untuk menempatkan partisi tabel di ruang tabel bersama

Didukung

Tidak didukung

Sintaks ALTER TABLE ... UPGRADE PARTITIONING

Didukung

Tidak didukung

Lampiran 4: Perbedaan fitur antara MySQL 5.7 dan MySQL 5.6

Catatan

Tabel berikut mencantumkan beberapa perbedaan utama antara MySQL 5.7 dan MySQL 5.6. Untuk informasi lebih lengkap mengenai perbedaan lainnya, lihat Catatan Rilis MySQL.

Fitur

5.6

5.7

CREATE...AS SELECT dalam mode GTID

Didukung

Tidak didukung

Menggunakan tabel sementara dalam transaksi dalam mode GTID

Didukung

Tidak didukung

Menentukan kunci partisi dalam tabel partisi

Didukung

Tidak didukung

Sintaks ENGINE_NO_CACHE

Didukung

Tidak didukung

Indeks Tidak Terlihat

Didukung

Tidak didukung

Sintaks UPDATE non_affected_rows INSERT

Didukung

Tidak didukung

Perintah terkait proksi

Menggunakan metode perintah SET

Menggunakan mode Call Procedure

Mesin TokuDB, Sphinx, RocksDB, dan Memory

Didukung

Tidak didukung

Fungsi str_ord()

Didukung

Tidak didukung

Fungsi raiseerror()

Didukung

Tidak didukung

OPTIMIZE TABLE table ASYNC

Didukung

Tidak didukung

ENGINE_NO_CACHE

Didukung

Tidak didukung

Tabel INFORMATION.TABLE_UTILIZATION

Didukung

Tidak didukung

Kolom requesting_thd_id dan blocking_thd_id dalam tabel INFORMATION_SCHEMA.INNODB_LOCK_WAITS

Didukung

Tidak didukung

Tabel INFORMATION_SCHEMA.INNODB_RSEG

Didukung

Tidak didukung

Tabel INFORMATION_SCHEMA.INNODB_IO_STATUS

Didukung

Tidak didukung

Fitur kompresi kolom

Didukung

Tidak didukung

Cache Rencana Kueri

Didukung

Tidak didukung

Sintaks Limit + Union

Tanda kurung tidak diperlukan.

Tanda kurung diperlukan.

Sintaks SHOW FULL PROCESSLIST

Dalam MySQL 5.7, kolom memory dan query_memory dihapus dari hasil.

max_statement_time dan max_execution_time

Dalam MySQL 5.7, max_statement_time dihapus, dan hanya max_execution_time yang dipertahankan.

Sintaks RDS_SQL_MAX_AFFECTED

Dalam MySQL 5.7, Anda tidak dapat lagi menggunakan RDS_SQL_MAX_AFFECTED untuk membatasi jumlah catatan yang terpengaruh oleh satu pernyataan UPDATE atau DELETE. Gunakan variabel rds_sql_max_affected_rows sebagai gantinya.

Penyesuaian optimalisasi performa konkurensi

Dalam MySQL 5.7, parameter berikut tidak lagi didukung untuk kontrol konkurensi:

  • innodb_adaptive_tickets_algo

  • innodb_min_concurrency_tickets

  • rds_threads_running_ctl_mode

  • rds_threads_running_high_watermark

  • rds_filter_key_cmp_in_order

  • rds_reset_all_filter

  • rds_sql_delete_filter

  • rds_sql_select_filter

  • rds_sql_update_filter

  • rds_strict_concurrency

  • rds_thread_extra_concurrency

  • rds_strict_trx_idle_timeout

  • rds_sql_buf_read_bandwidth

  • rds_sql_buf_read_threshold_bytes

  • rds_sql_buf_write_bandwidth

  • rds_sql_buf_write_threshold_bytes

  • rds_sql_max_iops

Penyesuaian variabel jumlah koneksi

Variabel berikut dihapus dalam MySQL 5.7:

  • extra_max_connections

  • rds_root_connections

  • rds_sysinfo_connections

  • rds_sysinfo_user_list

Penyesuaian terkait replikasi

  • Penyesuaian kompatibilitas MySQL 5.7:

    • Replikasi antara database dengan GTID dan tanpa GTID tidak lagi didukung.

    • sql_slave_skip_counter tidak dapat lagi digunakan dengan GTID.

    • CREATE .... SELECT tidak lagi didukung.

  • Penyesuaian terkait slave MySQL 5.7:

    • SHOW SLAVE LAG tidak lagi didukung.

    • SHOW SLAVE STATUS tidak lagi mendukung timeout.

    • SHOW SLAVE STATUS menampilkan lebih sedikit informasi.

    • Thread sql_thread pada slave tidak lagi mendukung timeout eksekusi.

    • Thread sql_thread pada slave tidak lagi mendukung melewati pernyataan tertentu.

  • Penyesuaian log biner MySQL 5.7:

    • Penyesuaian kecepatan transmisi tidak lagi didukung.

    • rds_rpl_receive_buffer_difftime tidak lagi didukung.

    • rds_rpl_receive_buffer_size tidak lagi didukung.

Penyesuaian terkait log

Penyesuaian log kesalahan MySQL 5.7:

  • Alamat IP, pengguna, dan latensi I/O atau jaringan untuk SHUTDOWN tidak lagi dicatat.

  • Menampilkan nama tabel untuk kunci duplikat tidak lagi didukung.

Tipe data waktu lama (<u>TIME</u>, <u>DATETIME</u>, dan <u>TIMESTAMP</u>)

Sebelum versi 5.6.4, tipe data waktu lama tidak mendukung mikrodetik.

Tipe data waktu mendukung presisi mikrodetik.

Penting

Selama peningkatan dari 5.6 ke 5.7, sistem mendeteksi dan membangun ulang tabel yang berisi bidang dengan tipe data waktu lama. Ini memperlambat proses peningkatan.

Lampiran 5: Perbedaan fitur antara MySQL 5.5 dan MySQL 5.6

Catatan

Tabel berikut mencantumkan beberapa perbedaan utama antara MySQL 5.5 dan MySQL 5.6. Untuk informasi lebih lengkap mengenai perbedaan lainnya, lihat MySQL 5.6 Reference Manual.

Fitur

MySQL 5.5

MySQL 5.6

Indeks teks penuh

Tidak didukung

Didukung

InnoDB online DDL

Tidak didukung

Sebagian didukung

REDO

Mendukung maksimum 4 GB

Mendukung maksimum 512 GB

Pembilasan halaman kotor

Single-threaded

Menggunakan thread pembilasan terpisah

Pembersihan

Single-threaded

Multi-threaded

EXCHANGE PARTITION

Tidak didukung

Didukung

Pemilihan partisi eksplisit dalam DML

Tidak didukung

Didukung

INFORMATION_SCHEMA

MySQL 5.6 menyediakan lebih banyak informasi tentang kolam buffer dan lebih banyak metadata tentang tabel, indeks, dan bidang.

PERFORMANCE_SCHEMA

Performance Schema di MySQL 5.6 menambahkan lebih banyak informasi pemantauan dan format tampilan.

Replikasi

Penyempurnaan dan perubahan replikasi di MySQL 5.6 meliputi hal-hal berikut:

  • Mendukung replikasi berbasis GTID. Replikasi berbasis GTID dikontrol oleh parameter gtid_mode dan enforce_gtid_consistency.

  • Mendukung aplikasi log biner secara bersamaan pada database sekunder menggunakan beberapa thread.

  • FLUSH MASTER dan FLUSH SLAVE diubah menjadi RESET MASTER dan RESET SLAVE di MySQL 5.6.

  • SLAVE START dan SLAVE STOP diubah menjadi START SLAVE dan STOP SLAVE di MySQL 5.6.

Penting

Setelah instans RDS for MySQL ditingkatkan dari versi 5.5 ke 5.6, ia secara otomatis beralih ke mode replikasi berbasis GTID.

Pengoptimal

MySQL 5.6 meningkatkan pengoptimal dengan fitur-fitur termasuk yang berikut ini:

  • Multi-Range Read.

  • Index Condition Pushdown.

  • Dukungan untuk Optimizer_trace tersedia.

Purge Large File Asynchronously

Tidak didukung

Didukung

Thread Pool

Tidak didukung

Didukung

Performance Agent

Tidak didukung

Didukung

Faster DDL

Tidak didukung

Didukung

Sequence Engine

Tidak didukung

Didukung

FAQ

  • Q: Mengapa terjadi failover pada instans selama peningkatan? Apakah ada risiko serius lainnya?

    A: Untuk memastikan stabilitas layanan, instans dengan disk lokal berperforma tinggi ditingkatkan dengan meningkatkan node sekunder terlebih dahulu, lalu melakukan failover. Instans dengan ESSD ditingkatkan dengan membuat node baru dan kemudian melakukan failover. Tidak ada risiko serius lainnya. Untuk informasi lebih lanjut tentang dampak dari failover utama/sekunder, lihat Dampak dari failover utama/sekunder.

  • Q: Apakah node utama dan sekunder ditingkatkan pada saat yang sama?

    A: Saat Anda menaikkan versi disk lokal berkinerja-tinggi, instans sekunder ditingkatkan terlebih dahulu, diikuti oleh instans utama.

  • Q: Bagaimana cara saya menaikkan versi instans Edisi Dasar yang menjalankan MySQL 5.7 dengan SSD standar?

    A: Anda tidak dapat langsung menaikkan versi jenis instans ini. Untuk menaikkan versi instans Edisi Dasar yang menjalankan MySQL 5.7 dengan SSD standar, Anda harus terlebih dahulu mengubah tipe penyimpanan dari SSD standar ke ESSD, dan kemudian meningkatkan versi database.

  • Q: Apakah template parameter tetap ada setelah versi database ditingkatkan?

    A: Itu tergantung. Jika instans menggunakan template parameter sistem sebelum peningkatan, maka secara otomatis akan beralih ke template parameter sistem yang sesuai untuk versi baru. Sebagai contoh, instans yang menggunakan template parameter MySQL_InnoDB_5.7_High-availability_Performance akan beralih ke template parameter MySQL_InnoDB_8.0_High-availability_Performance setelah peningkatan dari MySQL 5.7 ke 8.0. Namun, jika instans menggunakan template parameter kustom, template parameter tersebut tidak akan dipertahankan setelah peningkatan.

  • Q: Dapatkah saya memodifikasi instans selama peningkatan versi database?

    A: Tidak, Anda tidak bisa. Anda hanya dapat melakukan operasi lain pada instans setelah peningkatan selesai.

  • Q: Apakah versi database mendukung peningkatan otomatis?

    A: Tidak, tidak mendukung. Peningkatan otomatis versi utama tidak didukung.

  • Q: Dapatkah saya menurunkan spesifikasi versi database?

    A: Tidak, Anda tidak dapat langsung menurunkan versi dari Konsol. Untuk menurunkan versi, Anda dapat membeli instans dengan versi sebelumnya dan menggunakan DTS untuk memigrasikan data dari instans dengan versi terbaru ke instans baru. Setelah migrasi selesai, Anda dapat melepaskan instans dengan versi terbaru. Untuk informasi lebih lanjut, lihat Migrasi data antara instans RDS.

  • Q: Ketika saya menaikkan versi instans RDS for MySQL dari 5.6 ke 5.7 atau dari 5.7 ke 8.0, peningkatan gagal. Pesan yang muncul adalah "Instans saat ini memiliki indeks teks penuh dan versi minornya lebih awal dari 20221130. Harap tingkatkan versi minor sebelum menghapus dan membangun ulang indeks teks penuh" atau "Instans saat ini berisi indeks teks penuh yang dibuat di ruang tabel sistem. Harap hapus dan bangun ulang indeks teks penuh yang sesuai sebelum melanjutkan dengan peningkatan." Apa penyebab dan solusinya?

    A: Penyebab dan solusinya adalah sebagai berikut:

    • Penyebab

      Karena masalah historis di MySQL, ketika Anda membuat indeks teks penuh pada versi awal MySQL 5.6, indeks tersebut dibuat di ruang tabel sistem. Saat Anda menaikkan versi ke 5.7 atau 8.0, indeks teks penuh di ruang tabel sistem dapat menyebabkan korupsi ruang tabel. Oleh karena itu, Anda harus menyelesaikan masalah ini sebelum peningkatan untuk mencegah korupsi data dan ketidakmampuan akses.

      Catatan

      Masalah ini telah diperbaiki di RDS for MySQL 5.6 versi 20221130. Indeks teks penuh sekarang dibuat di ruang tabel terpisah.

    • Solusi

      Penting

      Indeks teks penuh pada versi awal RDS for MySQL 5.6 dibuat di ruang tabel sistem. Oleh karena itu, pastikan bahwa versi yang Anda tingkatkan adalah RDS for MySQL 5.6 20221130 atau lebih baru sebelum Anda menaikkan versi ke RDS for MySQL 5.7. Jika Anda menggunakan versi lebih lama, tingkatkan terlebih dahulu ke versi terbaru RDS for MySQL 5.6.

      1. Berdasarkan nama tabel dalam prompt, hapus indeks teks penuh yang dibuat di ruang tabel sistem.

        # Hapus indeks teks penuh.
        ALTER TABLE $table_name DROP INDEX $fts_name;
      2. Buat ulang indeks teks penuh.

        # Buat ulang indeks teks penuh.
        ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
      3. Setelah Anda membuat indeks, Anda dapat menjalankan pernyataan SQL berikut untuk memeriksa indeks teks penuh pada instans saat ini. Pernyataan ini mengembalikan indeks teks penuh apa pun yang dibuat di ruang tabel sistem. Jika kueri mengembalikan hasil kosong, peningkatan dari RDS for MySQL 5.6 ke RDS for MySQL 5.7 tidak akan gagal karena masalah ini.

        # Kueri untuk indeks teks penuh yang dibuat di ruang tabel sistem.
        SELECT NAME FROM information_schema.INNODB_SYS_TABLES WHERE TABLE_ID IN ( SELECT CONV(SUBSTRING_INDEX(SUBSTRING_INDEX(NAME, '_', -4),'_', 1),16,10) FROM INNODB_SYS_TABLES WHERE NAME LIKE '%fts_00000000%' AND SPACE = 0);
  • Q: Ketika saya menaikkan versi instans RDS for MySQL dari 5.7 ke 8.0, kesalahan 267 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '=' dilaporkan. Bagaimana cara saya menanganinya?

    A: Periksa set karakter dan aturan pengurutan di MySQL. Jika Anda menggunakan utf8mb4_general_ci, jalankan pernyataan SQL berikut untuk mengubahnya menjadi utf8mb4_0900_ai_ci.

    # Ubah set karakter dan aturan pengurutan database.
    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
    # Ubah set karakter dan aturan pengurutan tabel.
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
    # Ubah set karakter dan aturan pengurutan bidang.
    ALTER TABLE table_name CHANGE column_name column_name type CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

    Jika Anda membuat tabel dengan aturan pengurutan utf8mb4_general_ci di MySQL 5.7 dan kemudian menaikkan versi ke MySQL 8.0, sistem menggunakan utf8mb4_0900_ai_ci sebagai aturan pengurutan default. Jika Anda menjalankan kueri yang membandingkan kolom yang menggunakan utf8mb4_general_ci dengan kolom yang menggunakan utf8mb4_0900_ai_ci, MySQL tidak dapat memproses dua aturan pengurutan yang berbeda, yang menghasilkan kesalahan.

  • Q: Apakah waktu koneksi sementara selama peningkatan versi utama selalu 30 hingga 60 detik, terlepas dari apakah ada instans hanya baca?

    A: Ya, benar. Kami sarankan Anda melakukan peningkatan selama jam-jam sepi.

Operasi API terkait

Operasi API

Deskripsi

Tingkatkan versi utama database RDS MySQL

Memutakhirkan versi utama database dari sebuah instans RDS.