Saat Amazon RDS mendukung versi baru mesin database, Anda dapat memutakhirkan instans DB Anda ke versi baru. Ada dua jenis pemutakhiran untuk instans DB MySQL. peningkatan versi mayor dan peningkatan versi minor
Pembaruan versi utama dapat berisi perubahan basis data yang tidak kompatibel dengan aplikasi yang sudah ada. Akibatnya, Anda harus secara manual melakukan pemutakhiran versi utama dari instans DB Anda. Anda dapat memulai pemutakhiran versi utama dengan memodifikasi instans DB Anda. Namun, sebelum Anda melakukan pemutakhiran versi utama, kami menyarankan agar Anda mengikuti petunjuk di
Sebaliknya, pemutakhiran versi minor hanya mencakup perubahan yang kompatibel mundur dengan aplikasi yang sudah ada. Anda dapat memulai pemutakhiran versi minor secara manual dengan memodifikasi instans DB Anda. Atau Anda dapat mengaktifkan opsi Upgrade versi minor otomatis saat membuat atau memodifikasi instans DB. Melakukannya berarti instans DB Anda secara otomatis ditingkatkan setelah Amazon RDS menguji dan menyetujui versi baru. Untuk informasi tentang melakukan peningkatan, lihat Meningkatkan versi mesin instans DB
Jika instans MySQL DB Anda menggunakan replika baca, Anda harus memutakhirkan semua replika baca sebelum memutakhirkan instans sumber. Jika instans DB Anda dalam penerapan Multi-AZ, replika utama dan siaga akan ditingkatkan. Instans DB Anda tidak akan tersedia hingga pemutakhiran selesai
Pemutakhiran mesin basis data memerlukan waktu henti. Durasi waktu henti bervariasi berdasarkan ukuran instans DB Anda
Anda dapat meminimalkan waktu henti yang diperlukan untuk peningkatan instans DB dengan menggunakan penerapan biru/hijau. Untuk informasi selengkapnya, lihat Menggunakan Amazon RDS Blue/Green Deployment untuk pembaruan database
Gambaran umum peningkatan
Saat Anda menggunakan AWS Management Console untuk memutakhirkan instans DB, ini 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 textUntuk 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 MySQL versi 8. 0. 23 DB, jalankan perintah AWS CLI berikut
Untuk Linux, macOS, atau Unix
aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output textUntuk Windows
aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output textAmazon RDS mengambil dua snapshot DB selama proses pemutakhiran. Snapshot DB pertama adalah instans DB sebelum perubahan pemutakhiran dilakukan. Jika pemutakhiran tidak berfungsi untuk database Anda, Anda dapat memulihkan snapshot ini untuk membuat instans DB yang menjalankan versi lama. Snapshot DB kedua diambil saat pemutakhiran selesai. RDS mengambil snapshot ini terlepas dari apakah AWS Backup mengelola cadangan untuk instans DB
Amazon RDS hanya mengambil snapshot DB jika Anda telah menetapkan periode penyimpanan cadangan untuk instans DB Anda ke angka yang lebih besar dari 0. Untuk mengubah periode penyimpanan cadangan Anda, lihat Memodifikasi instans DB Amazon RDS
Setelah pemutakhiran selesai, Anda tidak dapat kembali ke versi sebelumnya dari mesin basis data. Jika Anda ingin kembali ke versi sebelumnya, pulihkan snapshot DB pertama yang diambil untuk membuat instans DB baru
Anda mengontrol kapan harus memutakhirkan instans DB Anda ke versi baru yang didukung oleh Amazon RDS. Tingkat kontrol ini membantu Anda mempertahankan kompatibilitas dengan versi database tertentu dan menguji versi baru dengan aplikasi Anda sebelum diterapkan dalam produksi. Saat Anda siap, Anda dapat melakukan peningkatan versi pada waktu yang paling sesuai dengan jadwal Anda
Jika instans DB Anda menggunakan replikasi baca, Anda harus memutakhirkan semua Replika Baca sebelum memutakhirkan instans sumber
Jika instans DB Anda dalam penerapan Multi-AZ, instans DB primer dan siaga akan ditingkatkan. Instans DB utama dan siaga ditingkatkan secara bersamaan dan Anda akan mengalami pemadaman hingga peningkatan selesai. Waktu pemadaman bervariasi berdasarkan mesin database, versi mesin, dan ukuran instans DB Anda
Pembaruan versi utama untuk MySQL
Amazon RDS mendukung pemutakhiran di tempat berikut untuk versi utama mesin database MySQL
MySQL5. 6 hingga MySQL5. 7
MySQL5. 7 hingga MySQL 8. 0
Anda hanya dapat membuat MySQL versi 5. 7 dan 8. 0 instans DB dengan kelas instans DB generasi terbaru dan generasi saat ini, selain db. m3 kelas instans DB generasi sebelumnya
Dalam beberapa kasus, Anda ingin memutakhirkan MySQL versi 5. 6 instans DB berjalan pada kelas instans DB generasi sebelumnya (selain db. m3) ke MySQL versi 5. 7 instans DB. Dalam kasus ini, pertama-tama modifikasi instans DB untuk menggunakan kelas instans DB generasi terbaru atau generasi terkini. Setelah melakukannya, Anda kemudian dapat memodifikasi instans DB untuk menggunakan MySQL versi 5. 7 mesin basis data. Untuk informasi tentang kelas instans DB Amazon RDS, lihat kelas instans DB
Tinjauan tentang peningkatan versi utama MySQL
Pembaruan versi utama dapat berisi perubahan basis data yang tidak kompatibel dengan aplikasi yang sudah ada. Akibatnya, Amazon RDS tidak menerapkan pemutakhiran versi utama secara otomatis; . Kami menyarankan Anda untuk menguji pemutakhiran secara menyeluruh sebelum menerapkannya ke instans produksi Anda
Untuk melakukan upgrade versi utama untuk MySQL versi 5. Instans DB 6 di Amazon RDS ke MySQL versi 5. 7 atau lebih baru, pertama-tama lakukan pembaruan OS yang tersedia. Setelah pembaruan OS selesai, tingkatkan ke setiap versi utama. 5. 6 sampai 5. 7 dan kemudian 5. 7 sampai 8. 0. Instans DB MySQL yang dibuat sebelum 24 April 2014, menampilkan pembaruan OS yang tersedia hingga pembaruan diterapkan. Untuk informasi selengkapnya tentang pembaruan OS, lihat
Selama pemutakhiran versi utama MySQL, Amazon RDS menjalankan biner MySQL aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text0 untuk memutakhirkan tabel, jika perlu. Selain itu, Amazon RDS mengosongkan tabel aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text1 dan aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text2 selama peningkatan versi utama. Untuk mempertahankan informasi log, simpan konten log sebelum pemutakhiran versi utama
Pembaruan versi utama MySQL biasanya selesai dalam waktu sekitar 10 menit. Beberapa pemutakhiran mungkin memakan waktu lebih lama karena ukuran kelas instans DB atau karena instans tidak mengikuti pedoman operasional tertentu dalam Praktik terbaik untuk Amazon RDS. Jika Anda memutakhirkan instans DB dari konsol Amazon RDS, status instans DB menunjukkan kapan pemutakhiran selesai. Jika Anda memutakhirkan menggunakan AWS Command Line Interface (AWS CLI), gunakan perintah explain-db-instances dan periksa nilai aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text3
MySQL versi 5. 6. 4 memperkenalkan format tanggal dan waktu baru untuk kolom aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text4, aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text5, dan aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6 yang memungkinkan komponen pecahan dalam nilai tanggal dan waktu. Saat memutakhirkan instans DB ke MySQL versi 5. 7, MySQL memaksa konversi semua jenis kolom tanggal dan waktu ke format baru
Karena konversi ini membuat ulang tabel Anda, mungkin dibutuhkan banyak waktu untuk menyelesaikan pemutakhiran instans DB. Konversi paksa terjadi untuk semua instans DB yang menjalankan versi sebelum MySQL versi 5. 6. 4. Itu 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 tambahan. Dalam kasus ini, kami menyarankan Anda mengonversi kolom aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text4, aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text5, dan aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6 di database Anda sebelum memutakhirkan instans DB Anda ke MySQL versi 5. 7. Konversi ini dapat secara signifikan mengurangi jumlah waktu yang diperlukan untuk memutakhirkan instans DB ke MySQL versi 5. 7. Untuk memutakhirkan kolom tanggal dan waktu Anda ke format baru, keluarkan aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text0 FORCE; . Karena mengubah tabel akan mengunci tabel sebagai hanya-baca, kami menyarankan agar Anda melakukan pembaruan ini selama jendela pemeliharaan
Untuk menemukan semua tabel di database Anda yang memiliki aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text_4, aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text5, atau aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6 kolom dan buat aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text0 FORCE;
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;Precheck untuk upgrade dari MySQL 5. 7 sampai 8. 0
MySQL8. 0 termasuk sejumlah ketidakcocokan dengan MySQL 5. 7. Ketidakcocokan ini dapat menyebabkan masalah selama pemutakhiran dari MySQL 5. 7 hingga MySQL 8. 0. Jadi, beberapa persiapan mungkin diperlukan di database Anda agar pemutakhiran berhasil. Berikut ini adalah daftar umum ketidakcocokan ini
Tidak boleh ada tabel yang menggunakan tipe data atau fungsi usang
Tidak boleh ada anak yatim*. dari file
Pemicu tidak boleh memiliki penentu yang hilang atau kosong atau konteks pembuatan yang tidak valid
Tidak boleh ada tabel terpartisi yang menggunakan mesin penyimpanan yang tidak memiliki dukungan partisi asli
Tidak boleh ada pelanggaran kata kunci atau kata yang dicadangkan. Beberapa kata kunci mungkin dicadangkan di MySQL 8. 0 yang tidak dipesan sebelumnya
Untuk informasi lebih lanjut, lihat Kata kunci dan kata-kata yang dicadangkan dalam dokumentasi MySQL
Tidak boleh ada tabel di MySQL 5. 7 aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text_5 database sistem yang memiliki nama yang sama dengan tabel yang digunakan oleh MySQL 8. 0 kamus data
Tidak boleh ada mode SQL usang yang ditentukan dalam pengaturan variabel sistem aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6 Anda
Tidak boleh ada tabel atau prosedur tersimpan dengan elemen kolom aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text7 atau aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text8 individual yang panjangnya melebihi 255 karakter atau 1020 byte
Sebelum memutakhirkan ke MySQL 8. 0. 13 atau lebih tinggi, tidak boleh ada partisi tabel yang berada di tablespace InnoDB bersama
Tidak boleh ada kueri dan definisi program tersimpan dari MySQL 8. 0. 12 atau lebih rendah yang menggunakan aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.23 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text_9 atau aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text0 kualifikasi untuk klausa aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text1
MySQL5 Anda. Instalasi 7.7 tidak boleh menggunakan fitur yang tidak didukung di MySQL 8. 0
Untuk informasi lebih lanjut, lihat di dokumentasi MySQL
Tidak boleh ada nama batasan kunci asing yang lebih dari 64 karakter
Untuk dukungan Unicode yang ditingkatkan, pertimbangkan untuk mengonversi objek yang menggunakan rangkaian karakter aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text2 untuk menggunakan rangkaian karakter aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text3. Rangkaian karakter aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text_2 tidak digunakan lagi. Selain itu, pertimbangkan untuk menggunakan aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text3 untuk referensi rangkaian karakter alih-alih aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6, karena saat ini aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text6 adalah alias untuk rangkaian karakter aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text2
Untuk informasi lebih lanjut, lihat Kumpulan karakter utf8mb3 (pengodean unicode UTF-8 3-byte) di dokumentasi MySQL
Saat Anda memulai pemutakhiran dari MySQL 5. 7 sampai 8. 0, Amazon RDS menjalankan pemeriksaan awal secara otomatis untuk mendeteksi ketidaksesuaian ini. Untuk informasi tentang pemutakhiran ke MySQL 8. 0, lihat Memutakhirkan MySQLdi dokumentasi MySQL
Pra-pemeriksaan ini wajib. Anda tidak dapat memilih untuk melewatkannya. Pemeriksaan awal memberikan manfaat berikut
Mereka memungkinkan Anda untuk menghindari waktu henti yang tidak direncanakan selama pemutakhiran
Jika ada ketidaksesuaian, Amazon RDS mencegah pemutakhiran dan menyediakan log untuk Anda pelajari tentangnya. Anda kemudian dapat menggunakan log untuk mempersiapkan database Anda untuk pemutakhiran ke MySQL 8. 0 dengan mengurangi ketidakcocokan. Untuk informasi mendetail tentang menghapus inkompatibilitas, lihat Mempersiapkan instalasi Anda untuk pemutakhiran dalam dokumentasi MySQL dan Pemutakhiran ke MySQL 8. 0? . di Blog Server MySQL
Prapemeriksaan mencakup beberapa yang disertakan dengan MySQL dan beberapa yang dibuat secara khusus oleh tim Amazon RDS. Untuk informasi tentang pemeriksaan awal yang disediakan oleh MySQL, lihat Utilitas pemutakhiran pemeriksa
Prapemeriksaan dijalankan sebelum instans DB dihentikan untuk pemutakhiran, artinya tidak menyebabkan waktu henti saat dijalankan. Jika pemeriksaan awal menemukan ketidakcocokan, Amazon RDS secara otomatis membatalkan pemutakhiran sebelum instans DB dihentikan. Amazon RDS juga membuat kejadian untuk ketidakcocokan. Untuk informasi selengkapnya tentang kejadian Amazon RDS, lihat Bekerja dengan pemberitahuan kejadian Amazon RDS
Amazon RDS mencatat informasi mendetail tentang setiap ketidakcocokan dalam file log aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.23 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text9. Dalam kebanyakan kasus, entri log menyertakan tautan ke dokumentasi MySQL untuk memperbaiki ketidakcocokan. Untuk informasi selengkapnya tentang menampilkan file log, lihat Melihat dan mencantumkan file log database
Karena sifat pemeriksaan awal, mereka menganalisis objek di database Anda. Analisis ini menghasilkan konsumsi sumber daya dan meningkatkan waktu penyelesaian pemutakhiran
Amazon RDS menjalankan semua pemeriksaan awal ini hanya untuk pemutakhiran dari MySQL 5. 7 hingga MySQL 8. 0. Untuk upgrade dari MySQL 5. 6 hingga MySQL5. 7, pemeriksaan awal terbatas untuk mengonfirmasi bahwa tidak ada tabel anak yatim dan bahwa ada ruang penyimpanan yang cukup untuk membangun kembali tabel. Prapemeriksaan tidak dijalankan untuk pemutakhiran ke rilis yang lebih rendah dari MySQL 5. 7
Kembalikan setelah gagal memutakhirkan dari MySQL 5. 7 sampai 8. 0
Saat Anda memutakhirkan instans DB dari MySQL versi 5. 7 ke MySQL versi 8. 0, pemutakhiran bisa gagal. Khususnya, ini bisa gagal jika kamus data berisi ketidaksesuaian yang tidak ditangkap oleh pemeriksaan awal. Dalam hal ini, database gagal memulai dengan sukses di MySQL 8 yang baru. 0 versi. Pada titik ini, Amazon RDS mengembalikan perubahan yang dilakukan untuk pemutakhiran. Setelah rollback, instance MySQL DB menjalankan MySQL versi 5. 7. Saat pemutakhiran gagal dan dibatalkan, Amazon RDS menghasilkan peristiwa dengan ID peristiwa RDS-EVENT-0188
Biasanya, pemutakhiran gagal karena ada ketidaksesuaian dalam metadata antara database di instans DB Anda dan versi MySQL target. Saat pemutakhiran gagal, Anda dapat melihat detail tentang ketidaksesuaian ini di file 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;0. Atasi ketidakcocokan sebelum mencoba memutakhirkan lagi
Selama upaya pemutakhiran dan rollback yang gagal, instans DB Anda akan dimulai ulang. Setiap perubahan parameter yang tertunda diterapkan selama restart dan bertahan setelah rollback
Untuk informasi selengkapnya tentang memutakhirkan ke MySQL 8. 0, lihat topik berikut dalam dokumentasi MySQL
Saat ini, rollback otomatis setelah kegagalan pemutakhiran hanya didukung untuk MySQL 5. 7 sampai 8. 0 peningkatan versi utama
Menguji peningkatan
Sebelum Anda melakukan pemutakhiran versi utama pada instans DB Anda, uji secara menyeluruh database Anda untuk kompatibilitas dengan versi baru. Selain itu, uji secara menyeluruh semua aplikasi yang mengakses database untuk kompatibilitas dengan versi baru. Kami menyarankan Anda menggunakan prosedur berikut
Untuk menguji peningkatan versi utama
Tinjau dokumentasi pemutakhiran untuk versi baru mesin database untuk melihat apakah ada masalah kompatibilitas yang mungkin memengaruhi database atau aplikasi Anda
Jika instans DB Anda adalah anggota grup parameter DB khusus, buat grup parameter DB baru dengan pengaturan Anda yang sudah ada yang kompatibel dengan versi utama yang baru. Tentukan grup parameter DB baru saat Anda memutakhirkan instans pengujian, sehingga pengujian pemutakhiran Anda memastikan bahwa itu berfungsi dengan benar. Untuk informasi selengkapnya tentang membuat grup parameter DB, lihat Bekerja dengan grup parameter
Buat snapshot DB dari instans DB yang akan ditingkatkan. Untuk informasi selengkapnya, lihat Membuat snapshot DB
Pulihkan snapshot DB untuk membuat instans DB pengujian baru. Untuk informasi selengkapnya, lihat Memulihkan dari snapshot DB
Ubah instans DB pengujian baru ini untuk memutakhirkannya ke versi baru, menggunakan salah satu metode yang dirinci berikut ini. Jika Anda membuat grup parameter baru di langkah 2, tentukan grup parameter tersebut
Evaluasi penyimpanan yang digunakan oleh instans yang dimutakhirkan untuk menentukan apakah pemutakhiran memerlukan penyimpanan tambahan
Jalankan pengujian jaminan kualitas Anda terhadap instans DB yang ditingkatkan sebanyak yang diperlukan untuk memastikan bahwa database dan aplikasi Anda bekerja dengan benar dengan versi baru. Terapkan pengujian baru apa pun yang diperlukan untuk mengevaluasi dampak masalah kompatibilitas apa pun yang Anda identifikasi di langkah 1. Uji semua prosedur dan fungsi tersimpan. Versi pengujian langsung aplikasi Anda ke instans DB yang ditingkatkan
Jika semua pengujian lulus, lakukan pemutakhiran pada instans DB produksi Anda. Kami menyarankan agar Anda tidak mengizinkan operasi tulis ke instans DB sampai Anda mengonfirmasi bahwa semuanya berfungsi dengan benar
Mengupgrade instance MySQL DB
Untuk informasi tentang mengupgrade instans DB MySQL secara manual atau otomatis, lihat Mengupgrade versi mesin instans DB
Pembaruan versi minor otomatis untuk MySQL
Jika Anda menentukan pengaturan berikut saat membuat atau memodifikasi instans DB, instans DB Anda dapat ditingkatkan secara otomatis
Setelan pemutakhiran versi minor otomatis diaktifkan
Pengaturan periode penyimpanan cadangan lebih besar dari 0
Di AWS Management Console, pengaturan ini berada di Konfigurasi tambahan. Gambar berikut menunjukkan pengaturan peningkatan versi Auto minor
Untuk informasi lebih lanjut tentang pengaturan ini, lihat
Untuk beberapa RDS untuk versi utama MySQL di beberapa Wilayah AWS, satu versi minor ditetapkan oleh RDS sebagai versi pemutakhiran otomatis. Setelah versi minor diuji dan disetujui oleh Amazon RDS, pemutakhiran versi minor terjadi secara otomatis selama masa pemeliharaan Anda. RDS tidak secara otomatis menetapkan versi minor yang dirilis lebih baru sebagai versi pemutakhiran otomatis. Sebelum RDS menetapkan versi pemutakhiran otomatis yang lebih baru, beberapa kriteria dipertimbangkan, seperti berikut ini
Masalah keamanan yang diketahui
Bug dalam versi komunitas MySQL
Stabilitas armada secara keseluruhan sejak versi minor dirilis
Anda dapat menggunakan perintah AWS CLI berikut untuk menentukan versi target pemutakhiran minor otomatis saat ini untuk versi minor MySQL yang ditentukan di Wilayah AWS tertentu
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 textUntuk Windows
aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version minor-version ^ --region region ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output textMisalnya, perintah AWS CLI berikut menentukan target pemutakhiran minor otomatis untuk MySQL minor versi 8. 0. 11 di Wilayah AWS AS Timur (Ohio) (us-timur-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 tableUntuk 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 tableOutput Anda mirip 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, nilai 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;_1 adalah 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;2 untuk MySQL versi 8. 0. 23. Jadi, target upgrade minor otomatis adalah MySQL versi 8. 0. 23, yang disorot dalam output
Instans DB MySQL dimutakhirkan secara otomatis selama masa pemeliharaan Anda jika kriteria berikut terpenuhi
Setelan pemutakhiran versi minor otomatis diaktifkan
Pengaturan periode penyimpanan cadangan lebih besar dari 0
Instans DB menjalankan versi mesin DB minor yang lebih kecil dari versi minor pemutakhiran otomatis saat ini
Untuk informasi lebih lanjut, lihat
Dalam kebanyakan kasus, penerapan biru/hijau adalah opsi terbaik untuk mengurangi waktu henti saat meningkatkan instans DB MySQL. Untuk informasi selengkapnya, lihat Menggunakan Amazon RDS Blue/Green Deployment untuk pembaruan database
Jika Anda tidak dapat menggunakan penerapan biru/hijau dan instans DB MySQL Anda sedang digunakan dengan aplikasi produksi, Anda dapat menggunakan prosedur berikut untuk memutakhirkan versi database instans DB Anda. Prosedur ini dapat mengurangi jumlah downtime untuk aplikasi Anda
Dengan menggunakan replika baca, Anda dapat melakukan sebagian besar langkah pemeliharaan sebelumnya dan meminimalkan perubahan yang diperlukan selama pemadaman yang sebenarnya. Dengan teknik ini, Anda dapat menguji dan menyiapkan instans DB baru tanpa melakukan perubahan apa pun pada instans DB yang ada
Prosedur berikut menunjukkan contoh pemutakhiran dari MySQL versi 5. 7 ke MySQL versi 8. 0. Anda dapat menggunakan langkah-langkah umum yang sama untuk memutakhirkan ke versi utama lainnya
Ketika Anda memutakhirkan dari MySQL versi 5. 7 ke MySQL versi 8. 0, selesaikan pemeriksaan awal sebelum melakukan pemutakhiran. Untuk informasi lebih lanjut, lihat
Untuk memutakhirkan database MySQL saat instans DB sedang digunakan
Masuk ke AWS Management Console dan buka konsol Amazon RDS di https. //menghibur. aws. amazon. com/rds/
Buat replika baca MySQL 5 Anda. 7 instans DB. Proses ini membuat salinan database Anda yang dapat diupgrade. Replika baca lainnya dari instans DB mungkin juga ada
Di konsol, pilih Database, lalu pilih instans DB yang ingin Anda tingkatkan
Untuk Tindakan, pilih Buat replika baca
Berikan nilai untuk pengidentifikasi instans DB untuk replika baca Anda dan pastikan bahwa kelas instans DB dan pengaturan lainnya cocok dengan MySQL 5 Anda. 7 instans DB
Pilih Buat replika baca
(Opsional) Saat replika baca telah dibuat dan Status menampilkan Tersedia, ubah replika baca menjadi penerapan Multi-AZ dan aktifkan pencadangan
Secara default, replika baca dibuat sebagai penerapan Single-AZ dengan pencadangan dinonaktifkan. Karena replika baca pada akhirnya menjadi instans DB produksi, praktik terbaik adalah mengonfigurasi penerapan Multi-AZ dan mengaktifkan pencadangan sekarang
Di konsol, pilih Database, lalu pilih replika baca yang baru saja Anda buat
Pilih Ubah
Untuk penerapan Multi-AZ, pilih Buat instans siaga
Untuk Periode Retensi Pencadangan, pilih nilai bukan nol positif, seperti 3 hari, lalu pilih Lanjutkan
Untuk Penjadwalan modifikasi, pilih Terapkan segera
Pilih Ubah instans DB
Ketika Status replika baca menunjukkan Tersedia, tingkatkan replika baca ke MySQL 8. 0
Di konsol, pilih Database, lalu pilih replika baca yang baru saja Anda buat
Pilih Ubah
Untuk versi mesin DB, pilih MySQL 8. 0 versi untuk ditingkatkan, lalu pilih Lanjutkan
Untuk Penjadwalan modifikasi, pilih Terapkan segera
Pilih Ubah instans DB untuk memulai pemutakhiran
Ketika pemutakhiran selesai dan Status menunjukkan Tersedia, verifikasi bahwa replika baca yang ditingkatkan mutakhir dengan sumber MySQL 5. 7 instans DB. Untuk memverifikasi, sambungkan ke replika baca dan jalankan perintah 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;3. Jika bidang 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;4 adalah 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;5, maka replikasi adalah yang terbaru
Versi MySQL sebelumnya menggunakan 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;_6 alih-alih 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;3. Jika Anda menggunakan versi MySQL sebelum 8. 0. 23, lalu gunakan 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;_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
Di konsol, pilih Database, lalu pilih replika baca yang baru saja Anda tingkatkan
Untuk Tindakan, pilih Buat replika baca
Berikan nilai untuk pengidentifikasi instans DB untuk replika baca Anda dan pastikan bahwa kelas instans DB dan pengaturan lainnya cocok dengan MySQL 5 Anda. 7 instans DB
Pilih Buat replika baca
(Opsional) Konfigurasikan grup parameter DB kustom untuk replika baca
Jika Anda ingin instans DB menggunakan grup parameter khusus setelah dipromosikan menjadi instans DB mandiri, Anda dapat membuat grup parameter DB sekarang dan mengaitkannya dengan replika baca
Buat grup parameter DB khusus untuk MySQL 8. 0. Untuk instruksi, lihat
Ubah parameter yang ingin Anda ubah di grup parameter DB yang baru saja Anda buat. Untuk instruksi, lihat
Di konsol, pilih Database, lalu pilih replika baca
Pilih Ubah
Untuk grup parameter DB, pilih MySQL 8. 0 grup parameter DB yang baru saja Anda buat, lalu pilih Lanjutkan
Untuk Penjadwalan modifikasi, pilih Terapkan segera
Pilih Ubah instans DB untuk memulai pemutakhiran
Jadikan MySQL 8 Anda. 0 membaca replika instans DB mandiri
Saat Anda mempromosikan MySQL 8. 0 baca replika ke instans DB mandiri, ini bukan lagi replika MySQL 5 Anda. 7 instans DB. Kami menyarankan Anda mempromosikan MySQL 8 Anda. 0 baca replika selama masa pemeliharaan saat sumber MySQL 5. 7 Instans DB dalam mode hanya baca dan semua operasi tulis ditangguhkan. Saat promosi selesai, Anda dapat mengarahkan operasi tulis Anda ke MySQL 8 yang ditingkatkan. 0 instans DB untuk memastikan tidak ada operasi tulis yang hilang
Selain itu, kami menyarankan, sebelum mempromosikan MySQL 8 Anda. 0 baca replika, Anda melakukan semua operasi bahasa definisi data (DDL) yang diperlukan pada MySQL 8 Anda. 0 membaca replika. Contohnya adalah membuat indeks. Pendekatan ini menghindari efek negatif pada kinerja MySQL 8. 0 baca replika setelah dipromosikan. Untuk mempromosikan replika baca, gunakan prosedur berikut
Di konsol, pilih Database, lalu pilih replika baca yang baru saja Anda tingkatkan
Untuk Tindakan, pilih Promosikan
Pilih Ya untuk mengaktifkan pencadangan otomatis untuk instans replika baca. Untuk informasi selengkapnya, lihat Bekerja dengan cadangan
Pilih Lanjutkan
Pilih Promosikan Baca Replika
Anda sekarang memiliki versi upgrade dari database MySQL Anda. Pada titik ini, Anda dapat mengarahkan aplikasi Anda ke MySQL 8 yang baru. 0 instans DB
Cara memutakhirkan MySQL dari 5. 7 sampai 8?
Yang perlu Anda lakukan hanyalah menjalankan apt upgrade atau yum update dan Anda sudah siap. Pemutakhiran bahkan lebih mudah – di masa lalu harus diingat untuk menjalankan mysql_upgrade untuk memastikan semua tabel sistem ditingkatkan dengan benar ke format yang diperlukan oleh versi baru MySQL.Bagaimana cara meningkatkan versi MySQL?
Gunakan mysql_upgrade seperti ini. .Pastikan bahwa server berjalanAktifkan mysql_upgrade untuk memutakhirkan tabel sistem di skema mysql dan periksa serta perbaiki tabel di skema lain. mysql_upgrade [opsi]Hentikan server dan mulai ulang agar perubahan tabel sistem berlakuBagaimana cara memperbarui MySQL di Windows?
Mulai penginstal MySQL. Dari dasbor, klik 'Katalog', yang akan mengunduh perubahan terbaru yang akan terjadi di katalog. Server yang telah diinstal dapat ditingkatkan hanya jika dasbor menampilkan tanda panah di sebelah nomor versi server. Sekarang klik 'Tingkatkan'Bagaimana cara mengunduh MySQL versi terbaru untuk Windows 10?
Cara Mengunduh Edisi Komunitas Gratis MySQL .Buka situs web MySQL dan pilih UnduhanPilih Unduhan Komunitas MySQL (GPL). .Pada halaman berikutnya, pilih MySQL Community ServerGulir ke bawah ke bagian bawah halaman dan pilih Go to Download Page di samping Windows (x86, 32 & 64-bit), MySQL Installer MSI