Cara menggunakan mysql tuning primer

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

Pemutakhiran versi utama dapat berisi perubahan basis data yang tidak kompatibel dengan aplikasi yang ada. Oleh karena itu, Anda harus melakukan peningkatan versi besar untuk instans DB Anda secara manual. Anda dapat memulai peningkatan versi utama dengan mengubah instans DB Anda. Namun, sebelum Anda melakukan peningkatan versi besar, kami sarankan agar Anda mengikuti petunjuk di Pemutakhiran versi utama untuk MySQL.

Sebaliknya, peningkatan versi minor hanya menyertakan perubahan yang kompatibel dengan aplikasi yang ada. Anda dapat memulai peningkatan versi kecil secara manual dengan mengubah instans DB Anda. Atau Anda dapat mengaktifkan opsi Pemutakhiran versi minor otomatis saat membuat atau memodifikasi instans DB. Melakukannya berarti bahwa instans DB Anda secara otomatis ditingkatkan setelah pengujian Amazon RDS dan menyetujui versi baru. Untuk informasi tentang melakukan peningkatan ini, lihat Meningkatkaninstans DBversi mesin.

Jika instans DB MySQL Anda menggunakan replika baca, Anda harus meningkatkan semua replika baca sebelum meningkatkan instans sumber. Jika instans DB Anda ada dalam penerapan Multi-AZ, replika primer dan standby akan ditingkatkan. Instans DB Anda tidak akan tersedia hingga peningkatan selesai.

Upgrade mesin database memerlukan waktu henti. Durasi waktu henti bervariasi berdasarkan ukuran instans DB Anda.

Topik

  • Ikhtisar peningkatan
  • Pemutakhiran versi utama untuk MySQL
  • Menguji peningkatan
  • Meningkatkan instans DB MySQL
  • Peningkatan versi kecil otomatis untuk MySQL
  • Menggunakan replika baca untuk mengurangi downtime ketika meningkatkan basis data MySQL

Ikhtisar peningkatan

Saat Anda menggunakan AWS Management Console untuk memutakhirkan instans DB, akan menunjukkan target pemutakhiran yang valid untuk instans DB. Anda juga dapat menggunakan perintah AWS CLI 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 instans DB MySQL versi 8.0.23, jalankan hal berikutAWS CLIperintah:

Untuk Linux, macOS, atau Unix:

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

Untuk Windows:

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

Amazon RDS mengambil dua snapshot DB selama proses peningkatan. Snapshot DB pertama adalah dari instans DB sebelum perubahan peningkatan dibuat. Jika peningkatan tidak bekerja untuk basis data Anda, Anda dapat memulihkan snapshot ini untuk membuat instans DB yang menjalankan versi lama. Snapshot DB kedua diambil saat peningkatan selesai.

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 penyimpanan cadangan Anda, lihat Memodifikasi instans Amazon RDS DB.

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

Anda mengontrol kapan 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 terbaik untuk jadwal Anda.

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

Jika instans DB Anda ada dalam penerapan Multi-AZ, instans DB utama dan standby akan ditingkatkan. Instans DB utama dan standby ditingkatkan pada saat yang sama dan Anda akan mengalami gangguan hingga peningkatan selesai. Waktu gangguan bervariasi berdasarkan mesin basis data, versi mesin, dan ukuran instans DB Anda.

Pemutakhiran versi utama untuk MySQL

Amazon RDS mendukung peningkatan di tempat berikut untuk versi besar mesin basis data MySQL:

  • MySQL 5.6 ke MySQL 5.7

  • MySQL 5.7 ke MySQL 8.0

Anda hanya dapat membuat instans DB MySQL versi 5.7 dan 8.0 dengan kelas instans DB generasi terbaru dan generasi saat ini, selain kelas instans DB db.m3 generasi sebelumnya.

Dalam beberapa kasus, Anda ingin meningkatkan instans DB MySQL versi 5.6 yang berjalan pada kelas instans DB generasi sebelumnya (selain db.m3) ke instans DB MySQL versi 5.7. Dalam hal ini, pertama modifikasi instans DB untuk menggunakan kelas instans DB generasi terbaru atau generasi saat ini. Setelah Anda melakukan ini, Anda lalu dapat memodifikasi instans DB untuk menggunakan mesin basis data MySQL versi 5.7. Untuk informasi kelas instans DB Amazon RDS, lihat Kelas instans DB.

Topik

  • Ikhtisar peningkatan versi besar MySQL
  • Peningkatan ke MySQL versi 5.7 mungkin berjalan lambat
  • Pra-pemeriksaan untuk peningkatan dari MySQL 5.7 ke 8.0
  • Rollback setelah kegagalan untuk meningkatkan dari MySQL 5.7 ke 8.0

Ikhtisar peningkatan versi besar MySQL

Pemutakhiran versi utama dapat berisi perubahan basis data yang tidak kompatibel dengan aplikasi yang ada. Akibatnya, Amazon RDS tidak menerapkan peningkatan versi besar secara otomatis; Anda harus memodifikasi instans DB secara manual. Kami menyarankan Anda untuk menguji secara menyeluruh setiap peningkatan sebelum menerapkannya ke instans produksi Anda.

Untuk melakukan peningkatan versi besar untuk instans DB MySQL versi 5.6 pada Amazon RDS ke MySQL versi 5.7 atau lebih baru, terlebih dahulu lakukan pembaruan OS yang tersedia. Setelah pembaruan OS selesai, tingkatkan ke masing-masing versi besar: 5.6 ke 5.7, dan kemudian 5.7 ke 8.0. Instans DB MySQL yang dibuat sebelum tanggal 24 April 2014, menunjukkan pembaruan OS yang tersedia hingga pembaruan diterapkan. Untuk informasi selengkapnya tentang pembaruan OS, lihat Menerapkan pembaruan untuk DBcontoh.

Selama peningkatan versi besar 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 besar. Untuk menyimpan informasi log, simpan konten log sebelum peningkatan versi besar.

Peningkatan versi besar 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. Jika Anda meningkatkan instans DB dari konsol Amazon RDS, status instans DB menunjukkan ketika peningkatan selesai. Jika Anda meng-upgrade menggunakanAWS Command Line Interface(AWS CLI), gunakandescribe-db-instancesperintah dan periksaStatusnilai.

Peningkatan ke MySQL versi 5.7 mungkin berjalan lambat

MySQL versi 5.6.4 memperkenalkan format tanggal dan waktu baru untuk kolom datetime, time, dan timestamp yang memungkinkan komponen pecahan dalam nilai tanggal dan waktu. Saat meningkatkan instans DB ke MySQL versi 5.7, MySQL memaksakan konversi semua jenis kolom tanggal dan waktu ke format baru.

Karena konversi ini membangun ulang tabel Anda, akan memakan waktu yang cukup lama untuk menyelesaikan peningkatan instans DB. Konversi paksa terjadi untuk setiap instans DB yang menjalankan versi sebelum MySQL versi 5.6.4. Ini juga terjadi untuk setiap instans DB yang ditingkatkan dari versi sebelum MySQL versi 5.6.4 ke versi selain 5.7.

Jika instans DB Anda menjalankan versi sebelum MySQL versi 5.6.4, atau ditingkatkan dari versi sebelum 5.6.4, kami merekomendasikan langkah ekstra. Dalam kasus ini, kami menyarankan Anda untuk mengonversi kolom datetime, time, dan timestamp di basis data Anda sebelum meningkatkan instans DB Anda ke MySQL versi 5.7. Konversi ini dapat secara signifikan mengurangi jumlah waktu yang diperlukan untuk meningkatkan instans DB menjadi MySQL versi 5.7. Untuk meningkatkan kolom tanggal dan waktu Anda ke format baru, terbitkan ALTER TABLE FORCE; perintah untuk setiap tabel yang berisi kolom tanggal dan waktu. Karena mengubah tabel akan mengunci meja sebagai hanya-baca, kami menyarankan Anda melakukan pembaruan ini selama jendela pemeliharaan.

Untuk menemukan semua tabel di basis data Anda yang memiliki datetime, time, atau timestamp dan membuat ALTER TABLE FORCE; perintah untuk setiap tabel, gunakan kueri berikut.

SET show_old_temporals = ON;
   SELECT table_schema, table_name,column_name, column_type
   FROM information_schema.columns
   WHERE column_type LIKE '%/* 5.5 binary format */';
   SET show_old_temporals = OFF;

Pra-pemeriksaan untuk peningkatan dari MySQL 5.7 ke 8.0

MySQL 8.0 menyertakan sejumlah ketidakcocokkan dengan MySQL 5.7. Ketidakcocokkan ini dapat menyebabkan masalah selama peningkatan dari MySQL 5.7 ke MySQL 8.0. Jadi, beberapa persiapan mungkin diperlukan di basis data Anda agar pemutakhiran berhasil. Berikut ini adalah daftar umum dari inkompatibilitas iniIT:

  • Tidak boleh ada tabel yang menggunakan jenis atau fungsi data yang usang.

  • Tidak boleh ada file orphan *.frm.

  • Pemicu tidak boleh memiliki konteks pembuatan yang hilang atau kosong atau tidak valid.

  • Tidak boleh ada tabel partisi yang menggunakan mesin penyimpanan yang tidak memiliki dukungan partisi asli.

  • Tidak boleh ada pelanggaran kata kunci atau kata cadangan. Beberapa kata kunci mungkin akan dipesan di MySQL 8.0 yang belum dipesan sebelumnya.

    Untuk informasi lebih lanjut, lihat Kata kunci dan kata-kata yang dipesan 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 sql_mode pengaturan variabel sistem.

  • Tidak boleh ada tabel atau stored procedure dengan element 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 terletak di tablespace InnoDB bersama.

  • Tidak boleh ada definisi kueri dan program tersimpan dari MySQL 8.0.12 atau lebih rendah yang menggunakan pengkualifikasi ASC atau DESC untuk klausul GROUP BY.

  • Instalasi MySQL 5.7 Anda tidak boleh menggunakan fitur yang tidak didukung dalam MySQL 8.0.

    Untuk informasi lebih lanjut, lihat Fitur yang dihapus dalam MySQL 8.0 dalam dokumentasi MySQL.

  • Tidak boleh terdapat nama kendala kunci asing yang lebih panjang dari 64 karakter.

  • Untuk peningkatan dukungan Unicode, pertimbangkan untuk mengonversi objek yang menggunakan charset utf8mb3 untuk menggunakan charset utf8mb4. Set karakter utf8mb3 sudah tidak digunakan lagi. Selain itu, pertimbangkan untuk menggunakan utf8mb4 untuk referensi set karakter, bukan utf8, karena saat ini utf8 adalah alias untuk utf8mb3 charset.

    Untuk informasi lebih lanjut, lihat Rangkaian karakter utf8mb3 (penyandian unicode 3-byte UTF-8) dalam dokumentasi MySQL.

Saat Anda memulai peningkatan dari MySQL 5.7 ke 8.0, Amazon RDS menjalankan pra-pemeriksaan secara otomatis untuk mendeteksi ketidakcocokkan ini. Untuk informasi tentang peningkatan ke MySQL 8.0, lihat Meningkatkan MySQL dalam dokumentasi MySQL.

Pemeriksaan awal ini wajib dilakukan. Anda tidak dapat memilih untuk melewatinya. Pra-pemeriksaan menyediakan hal berikutIT:

  • Sistem ini memungkinkan Anda menghindari waktu henti yang tidak direncanakan selama peningkatan.

  • Jika ada ketidakcocokkan, Amazon RDS mencegah peningkatan dan menyediakan log bagi Anda untuk mempelajarinya. Kemudian, Anda dapat menggunakan log untuk menyiapkan basis data Anda untuk meningkatkan ke MySQL 8.0 dengan menghilangkan ketidakcocokkan. Untuk informasi terperinci tentang menghapus ketidakcocokkan, lihat Menyiapkan instalasi Anda untuk peningkatan dalam dokumentasi MySQL dan Meningkatkan ke MySQL 8.0? Ini yang perlu Anda ketahui... pada Blog Server MySQL.

Pra-pemeriksaan meliputi beberapa yang disertakan dengan MySQL dan beberapa yang dibuat secara khusus oleh tim Amazon RDS. Untuk informasi tentang pra-pemeriksaan yang disediakan oleh MySQL, lihat Utilitas pemeriksaan peningkatan.

Pra-pemeriksaan berjalan sebelum instans DB dihentikan untuk peningkatan, yang berarti bahwa mereka tidak menyebabkan waktu non-operasional ketika berjalan. Jika pemeriksaan awal menemukan ketidakcocokkan, Amazon RDS secara otomatis membatalkan peningkatan sebelum instans DB dihentikan. Amazon RDS juga menghasilkan peristiwa untuk ketidakcocokkan. Untuk informasi lebih lanjut tentang peristiwa Amazon RDS, lihat Bekerja dengan pemberitahuan kejadian Amazon RDS.

Amazon RDS mencatat informasi rinci tentang setiap ketidakcocokan dalam file log PrePatchCompatibility.log. Dalam kebanyakan kasus, entri log memuat tautan ke dokumentasi MySQL untuk mengoreksi ketidakcocokan. Untuk informasi lebih lanjut tentang format file log, lihat Melihat dan mencatat file log database.

Karena sifat dari pemeriksaan awal, mereka menganalisis objek di basis data Anda. Analisis ini menghasilkan konsumsi sumber daya dan meningkatkan waktu hingga peningkatan selesai.

Amazon RDS menjalankan semua pra-pemeriksaan ini hanya untuk peningkatan dari MySQL 5.7 ke MySQL 8.0. Untuk peningkatan dari MySQL 5.6 ke MySQL 5.7, pra-pemeriksaan terbatas untuk mengonfirmasi bahwa tidak ada tabel yatim piatu dan ruang penyimpanan cukup untuk membangun kembali tabel. Pra-pemeriksaan ini tidak dijalankan untuk peningkatan ke rilis yang lebih rendah daripada MySQL 5.7.

Rollback setelah kegagalan untuk meningkatkan dari MySQL 5.7 ke 8.0

Ketika Anda meningkatkan instans DB dari MySQL versi 5.7 ke MySQL versi 8.0, peningkatan dapat gagal. Secara khusus, ini bisa gagal jika kamus data memiliki ketidakcocokan yang tidak tertangkap oleh pra-pemeriksaan. Dalam kasus ini, basis data gagal untuk memulai dalam versi MySQL 8.0 yang baru. Pada titik ini, Amazon RDS mengembalikan perubahan yang dilakukan untuk peningkatan. Setelah rollback, instans DB MySQL menjalankan MySQL versi 5.7. Ketika peningkatan gagal dan dikembalikan, Amazon RDS menghasilkan kejadian dengan ID kejadian RDS-EVENT-0188.

Biasanya, peningkatan gagal karena ada ketidakcocokkan dalam metadata antara basis data dalam instans DB Anda dan versi MySQL target. Ketika peningkatan gagal, Anda dapat melihat rincian tentang ketidakcocokkan ini dalam file upgradeFailure.log. Menyelesaikan ketidakcocokan sebelum mencoba untuk meningkatkan kembali.

Selama upaya peningkatan yang gagal dan rollback, instans DB Anda dinyalakan ulang. Perubahan parameter yang tertunda diterapkan selama menyalakan kembali dan berlangsung sampai setelah rollback.

Untuk informasi tentang peningkatan ke MySQL 8.0, lihat topik-topik berikut dalam dokumentasi MySQL:

  • Mempersiapkan Instalasi Anda untuk Peningkatan

  • Meningkatkan ke MySQL 8.0? Inilah yang perlu Anda ketahui...

Saat ini, rollback otomatis setelah kegagalan peningkatan hanya didukung untuk peningkatan versi besar MySQL 5.7 ke 8.0.

Menguji peningkatan

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

Untuk menguji pemutakhiran versi utama

  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 dalam MySQL 5.6

    • Perubahan dalam MySQL 5.7

    • Perubahan dalam MySQL 8.0

  2. 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 besar yang baru. Tentukan grup parameter DB baru saat Anda meningkatkan instans uji Anda, sehingga pengujian peningkatan Anda memastikan bahwa hal ini berfungsi dengan benar. Untuk informasi selengkapnya tentang cara membuat grup parameter DB, lihat Bekerja dengan grup parameter.

  3. Buat snapshot DB dari instans DB yang akan ditingkatkan. Untuk informasi selengkapnya, lihat Membuat snapshot DB.

  4. Pulihkan snapshot DB untuk membuat instans DB uji baru. Untuk informasi selengkapnya, lihat Memulihkan dari snapshot DB.

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

  6. Evaluasi penyimpanan yang digunakan oleh instans yang dimutakhirkan untuk menentukan apakah pemutakhiran memerlukan penyimpanan tambahan.

  7. Jalankan sebanyak mungkin uji jaminan kualitas Anda terhadap instans DB yang dimutakhirkan sesuai kebutuhan untuk memastikan bahwa basis data dan aplikasi Anda bekerja dengan benar dengan versi baru. Terapkan setiap pengujian baru yang diperlukan untuk mengevaluasi dampak dari masalah kompatibilitas yang Anda identifikasi dalam langkah 1. Uji semua prosedur dan fungsi yang disimpan. Arahkan versi pengujian dari aplikasi Anda ke instans DB yang dimutakhirkan.

  8. Jika semua pengujian berhasil, maka lakukan pemutakhiran 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

Untuk informasi tentang peningkatan instans DB MySQL secara manual atau otomatis, lihat Meningkatkaninstans DBversi mesin.

Peningkatan versi kecil otomatis untuk MySQL

Jika Anda menentukan pengaturan berikut saat membuat atau memodifikasi instans DB, Anda dapat melakukan pemutakhiran instans DB secara otomatis.

  • Pengaturan Pemutakhiran versi minor otomatis diaktifkan.

  • Pengaturan Periode retensi backup lebih besar dari 0.

DiAWS Management Console, pengaturan ini berada di bawahKonfigurasi tambahan. Gambar berikut menunjukkanPeningkatan versi kecil otomatisPengaturan.

Cara menggunakan mysql tuning primer

Untuk informasi selengkapnya tentang pengaturan ini, lihat Pengaturan untuk instans DB.

Untuk beberapa RDS untuk MySQL versi mayor di beberapaWilayah AWS, satu versi kecil ditetapkan oleh RDS sebagai versi peningkatan otomatis. Setelah versi kecil diuji dan disetujui oleh Amazon RDS, peningkatan versi kecil terjadi secara otomatis selama jendela pemeliharaan Anda. RDS tidak secara otomatis menetapkan versi kecil yang lebih baru sebagai versi peningkatan otomatis. Sebelum RDS menunjuk versi pemutakhiran otomatis yang lebih baru, beberapa kriteria dipertimbangkan, seperti berikut:

  • Masalah keamanan yang diketahui

  • Bug dalam versi komunitas MySQL

  • Stabilitas armada secara keseluruhan sejak versi kecil dirilis

Anda dapat menggunakan hal berikutAWS CLIperintah untuk menentukan versi target peningkatan kecil otomatis saat ini untuk MySQL versi kecil tertentuWilayah 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, berikut iniAWS CLIperintah menentukan target peningkatan kecil otomatis untuk MySQL wilayah versi 8.0.11 di Timur AS (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 serupa dengan 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,AutoUpgradenilaiTrueuntuk MySQL versi 8.0.23. Jadi, target peningkatan kecil otomatis adalah MySQL versi 8.0.23, yang disorot dalam output.

Instans DB MySQL secara otomatis ditingkatkan selama jendela pemeliharaan Anda jika kriteria berikut terpenuhi:

  • Pengaturan Pemutakhiran versi minor otomatis diaktifkan.

  • Pengaturan Periode retensi backup lebih besar dari 0.

  • Instans DB menjalankan versi mesin DB kecil yang kurang dari versi kecil peningkatan otomatis saat ini.

Untuk informasi selengkapnya, lihat Otomatis meningkatkan versi mesin minor.

Menggunakan replika baca untuk mengurangi downtime ketika meningkatkan basis data MySQL

Jika 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 meminimalisir perubahan yang diperlukan selama pemadaman sebenarnya. Dengan teknik ini, Anda dapat menguji dan mempersiapkan instans DB baru tanpa membuat perubahan ke 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 besar lainnya.

Untuk meningkatkan basis data MySQL saat instans DB sedang digunakan

  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

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

    1. Pada konsol, pilih Database, lalu pilih instans DB yang ingin Anda tingkatkan.

    2. Untuk Tindakan, pilih Buat replika baca.

    3. Berikan nilai untuk Pengidentifikasi instans DB untuk replika baca Anda dan pastikan bahwa Kelas instans DB dan pengaturan lain yang sesuai dengan instans DB MySQL 5.7 Anda.

    4. Pilih Buat read replica.

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

    Secara default, replika baca dibuat sebagai deployment single-AZ dengan backup dinonaktifkan. Karena replika baca akhirnya akan menjadi instans DB produksi, praktik terbaiknya adalah mengkonfigurasi deployment Multi-AZ dan mengaktifkan backup sekarang.

    1. Pada konsol, pilih Database, lalu pilih replika baca yang baru saja Anda buat.

    2. Pilih Modifikasi.

    3. Untuk Deployment Multi-AZ, pilih Buat instans siaga.

    4. Untuk Masa Penyimpanan Backup, pilih nilai selain nol positif, misalnya 3 hari, lalu pilih Lanjutkan.

    5. Untuk Penjadwalan perubahan, pilih Langsung terapkan.

    6. Pilih Ubah instans DB.

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

    1. Pada konsol, pilih Database, lalu pilih replika baca yang baru saja Anda buat.

    2. Pilih Modifikasi.

    3. Untuk Versi mesin DB, pilih versi MySQL 8.0 untuk meningkatkan, lalu pilih Lanjutkan.

    4. Untuk Penjadwalan perubahan, pilih Langsung terapkan.

    5. Pilih Modifikasi instans DB untuk memulai peningkatan.

  5. Ketika upgrade selesai danStatuspertunjukanTersedia, verifikasi bahwa replika baca yang ditingkatkan up-to-date dengan instans DB sumber MySQL 5.7. Anda dapat melakukannya dengan menghubungkannya ke replika baca dan menerbitkan perintah SHOW REPLICA STATUS. JikaSeconds_Behind_MasterBidang0, maka replikasi up-to-date.

    Versi sebelumnya dari MySQL menggunakan SHOW SLAVE STATUS dan bukan SHOW REPLICA STATUS. Jika Anda menggunakan versi MySQL sebelum 8.0.23, gunakan SHOW SLAVE STATUS.

  6. (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 Database, lalu pilih replika baca yang baru saja Anda tingkatkan.

    2. Untuk Tindakan, pilih Buat replika baca.

    3. Berikan nilai untuk Pengidentifikasi instans DB untuk replika baca Anda dan pastikan bahwa Kelas instans DB dan pengaturan lain yang sesuai dengan instans DB MySQL 5.7 Anda.

    4. Pilih Buat read replica.

  7. (Opsional) Mengkonfigurasi grup parameter kustom DB untuk replika baca.

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

    1. Buat grup parameter DB kustom untuk MySQL 8.0. Untuk instruksi, lihat Membuat grup parameter DB.

    2. Memodifikasi parameter yang ingin Anda ubah dalam grup parameter DB yang baru saja Anda buat. Untuk instruksi, lihat Memodifikasi parameter dalam grup parameter DB.

    3. Pada konsol, pilih Database, lalu pilih replika baca.

    4. Pilih Modifikasi.

    5. Untuk Grup parameter DB, pilih grup parameter DB MySQL 8.0 yang baru Anda buat, dan kemudian pilih Lanjutkan.

    6. Untuk Penjadwalan perubahan, pilih Langsung terapkan.

    7. Pilih Modifikasi instans DB untuk memulai peningkatan.

  8. Jadikan MySQL 8.0 instans DB replika baca yang berdiri sendiri.

    Saat Anda mempromosikan replika baca MySQL 8.0 Anda menjadi instans DB mandiri, ia tidak lagi merupakan replika dari instans DB MySQL 5.7 Anda. Kami sarankan Anda mempromosikan replika baca MySQL 8.0 Anda selama jendela pemeliharaan jika instans DB MySQL 5.7 sumber Anda berada dalam mode read-only dan semua operasi tulis ditangguhkan. Setelah promosi selesai, Anda dapat mengarahkan operasi tulis Anda instans DB MySQL 8.0 yang telah ditingkatkan untuk memastikan bahwa tidak ada operasi tulis yang hilang.

    Selain itu, kami menyarankan agar sebelum mempromosikan replika baca MySQL 8.0 Anda, Anda menjalankan semua operasi data definition language (DDL) yang diperlukan di replika baca MySQL 8.0 Anda. Contoh adalah membuat indeks. Pendekatan ini menghindari efek negatif pada kinerja replika baca MySQL 8.0 setelah dipromosikan. Untuk mempromosikan replika baca, gunakan prosedur berikut.

    1. Pada konsol, pilih Database, lalu pilih replika baca yang baru saja Anda tingkatkan.

    2. Untuk Tindakan, pilih Promosi.

    3. Pilih Ya untuk mengaktifkan pencadangan otomatis untuk instans replika baca. Untuk informasi selengkapnya, lihat Bekerja dengan backup.

    4. Pilih Lanjutkan.

    5. Pilih Promosikan Baca Replika.

  9. Sekarang Anda memiliki versi peningkatan untuk basis data MySQL Anda. Pada titik ini, Anda dapat mengarahkan aplikasi Anda ke instans DB MySQL 8.0 yang baru.