Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Artikel ini berisi referensi ke istilah slave, istilah yang tidak lagi digunakan Microsoft. Saat istilah dihapus dari perangkat lunak, kami akan menghapusnya dari artikel ini.
Artikel ini menjelaskan cara memperbarui versi utama MySQL Anda secara lokal di Azure Database for MySQL Flexible Server. Fitur ini memungkinkan pelanggan untuk melakukan peningkatan di tempat server MySQL 5.7 mereka ke MySQL 8.0 tanpa pergerakan data atau kebutuhan untuk membuat aplikasi apa pun string koneksi perubahan.
Penting
- Durasi waktu henti bervariasi berdasarkan ukuran instans database dan jumlah tabel yang dikandungnya.
- Saat memulai peningkatan versi utama untuk Azure Database for MySQL Flexible Server melalui Rest API atau SDK, hindari memodifikasi properti layanan lain dalam permintaan yang sama. Perubahan simultan tidak diizinkan dan mungkin menyebabkan hasil yang tidak diinginkan atau kegagalan permintaan. Lakukan modifikasi properti dalam operasi terpisah setelah penyelesaian peningkatan.
- Beberapa beban kerja mungkin tidak menunjukkan performa yang ditingkatkan setelah peningkatan dari 5.7 ke 8.0. Kami menyarankan agar Anda mengevaluasi performa beban kerja Anda dengan terlebih dahulu membuat server replika (sebagai server pengujian), lalu mempromosikannya ke server mandiri lalu menjalankan beban kerja di server pengujian sebelum menerapkan peningkatan di lingkungan produksi.
- Meningkatkan versi MySQL utama tidak dapat diubah. Penyebaran Anda mungkin gagal jika validasi mengidentifikasi bahwa server dikonfigurasi dengan fitur apa pun yang dihapus atau tidak digunakan lagi. Anda dapat membuat perubahan konfigurasi yang diperlukan pada server dan mencoba peningkatan lagi.
Prasyarat
- Baca Replika dengan MySQL versi 5.7 harus ditingkatkan sebelum Server Utama agar replikasi kompatibel antara versi MySQL yang berbeda, baca selengkapnya tentang Kompatibilitas Replikasi antara versi MySQL.
- Sebelum meningkatkan server produksi Anda, sekarang lebih mudah dan lebih efisien dengan fitur Validasi bawaan kami di portal Azure. Alat ini memeriksa sebelumnya kompatibilitas skema database Anda dengan MySQL 8.0, menyoroti potensi masalah. Meskipun kami menawarkan opsi yang nyaman ini, kami juga sangat menyarankan Anda menggunakan alat pemeriksa Peningkatan Oracle MySQL resmi untuk menguji kompatibilitas skema database Anda dan melakukan pengujian regresi yang diperlukan untuk memverifikasi kompatibilitas aplikasi dengan fitur yang dihapus/tidak digunakan lagi dalam versi MySQL baru.
Catatan
Saat Anda menggunakan alat resmi Oracle untuk memeriksa kompatibilitas skema, Anda mungkin menemukan beberapa peringatan yang menunjukkan token tak terduga dalam prosedur tersimpan, seperti:
mysql.az_replication_change_master - at line 3,4255: unexpected token 'REPLICATION'
mysql.az_add_action_history - PROCEDURE uses obsolete NO_AUTO_CREATE_USER sql_mode
Anda dapat mengabaikan peringatan ini dengan aman. Mereka mengacu pada prosedur tersimpan bawaan yang diawali dengan mysql., yang digunakan untuk mendukung fitur Azure MySQL. Peringatan ini tidak memengaruhi fungsionalitas database Anda.
- Picu pencadangan sesuai permintaan sebelum Anda melakukan peningkatan versi utama di server produksi Anda, yang dapat digunakan untuk memutar kembali ke versi 5.7 dari cadangan penuh sesuai permintaan yang diambil.
- Sebelum melanjutkan peningkatan versi utama, pastikan tidak ada transaksi XA aktif atau tertunda pada database, karena transaksi XA yang sedang berlangsung berpotensi menyebabkan proses peningkatan gagal. Untuk menghindari masalah ini, pertama-tama periksa transaksi XA apa pun dalam status "disiapkan" dengan menjalankan
XA RECOVER;
. Untuk setiap transaksi yang diidentifikasi, gunakanXA ROLLBACK '{xid}'
; untuk mengembalikan setiap transaksi, mengganti {xid} dengan ID transaksi. Pastikan semua transaksi XA diterapkan atau digulung balik sebelum memulai peningkatan untuk menjaga konsistensi transaksi dan mengurangi risiko kegagalan peningkatan.
Lakukan peningkatan versi utama yang direncanakan dari MySQL 5.7 ke MySQL 8.0 menggunakan portal Azure untuk server SKU burstable
Melakukan peningkatan versi utama untuk tingkat komputasi Azure Database for MySQL Burstable SKU memerlukan alur kerja khusus. Ini karena peningkatan versi utama intensif sumber daya, menuntut CPU dan memori yang signifikan. Instans SKU yang burstable menjadi berbasis kredit mungkin kesulitan dalam persyaratan ini, berpotensi menyebabkan proses peningkatan gagal. Oleh karena itu, saat meningkatkan SKU burstable, sistem terlebih dahulu meningkatkan tingkat komputasi ke SKU Tujuan Umum untuk memastikan sumber daya yang memadai tersedia untuk peningkatan.
Untuk melakukan peningkatan versi utama untuk tingkat komputasi Azure Database for MySQL Burstable SKU menggunakan portal Azure, ikuti langkah-langkah berikut:
Di portal Microsoft Azure, pilih server Azure Database for MySQL Flexible Server 5.7 yang sudah ada.
Penting
Sebaiknya lakukan peningkatan terlebih dahulu pada salinan server yang dipulihkan daripada meningkatkan produksi secara langsung. Lihat cara melakukan pemulihan titik waktu.
Pada halaman Gambaran Umum , di toolbar, pilih Tingkatkan.
Penting
Sebelum meningkatkan tautan kunjungan untuk daftar fitur yang dihapus di MySQL 8.0. Verifikasi nilai sql_mode yang tidak digunakan lagi, lalu hapus atau batalkan pilihannya dari server Azure Database for MySQL Flexible Server 5.7 Anda saat ini menggunakan Panel Parameter Server di portal Microsoft Azure untuk menghindari kegagalan deployment. sql_mode dengan nilai NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, dan NO_TABLE_OPTIONS tidak lagi didukung di MySQL 8.0.
Validasi Kompatibilitas Skema
Sebelum melanjutkan peningkatan, jalankan alat pemeriksa Peningkatan MySQL resmi Oracle untuk memvalidasi bahwa skema database Anda saat ini kompatibel dengan MySQL 8.0. Langkah ini sangat penting untuk memastikan proses peningkatan yang lancar.
Keputusan Pra-Peningkatan
Sebelum melanjutkan peningkatan, Anda perlu memilih tingkat komputasi yang ingin Anda tingkatkan untuk melakukan peningkatan versi utama. Secara default, sistem akan meningkatkan dari SKU Burstable ke SKU Tujuan Umum paling dasar, tetapi Anda dapat memilih untuk meningkatkan ke tingkat komputasi yang lebih tinggi jika diperlukan.
Catatan
Meskipun server Anda beroperasi di tingkat "Tujuan Umum" selama peningkatan, Anda hanya akan dikenakan biaya untuk sumber daya "Tujuan Umum" aktual yang digunakan selama periode ini.
Keputusan Pasca-Peningkatan
Putuskan apakah akan mempertahankan SKU Tujuan Umum atau kembali ke SKU Burstable setelah peningkatan. Pilihan ini diminta selama langkah-langkah peningkatan awal.
Sistem akan secara otomatis meningkatkan tingkat komputasi Anda dari SKU Burstable ke SKU Tujuan Umum yang dipilih mendukung peningkatan versi utama.
Peningkatan Versi Utama
Setelah tingkat komputasi ditingkatkan, sistem memulai proses peningkatan versi utama. Pantau kemajuan peningkatan melalui portal Azure. Proses peningkatan mungkin memakan waktu tergantung pada ukuran dan aktivitas database Anda.
Catatan
Jika peningkatan versi utama gagal, tingkat komputasi tidak akan secara otomatis kembali ke SKU Burstable sebelumnya. Hal ini untuk memungkinkan pelanggan melanjutkan peningkatan versi utama tanpa perlu melakukan peningkatan tingkat komputasi lagi.
Pembalikan Otomatis
Berdasarkan keputusan praupgrade Anda, sistem akan mempertahankan SKU Tujuan Umum atau secara otomatis kembali ke SKU Burstable setelah peningkatan selesai.
Catatan
Jika Anda memilih untuk kembali secara otomatis ke SKU Burstable, sistem akan kembali ke SKU B2S secara default.
Lakukan peningkatan versi utama yang direncanakan dari MySQL 5.7 ke MySQL 8.0 menggunakan portal Azure untuk server SKU Tujuan Umum dan Bisnis Kritis
Untuk melakukan peningkatan versi utama server Azure Database for MySQL Flexible Server 5.7 menggunakan portal Microsoft Azure, lakukan langkah-langkah berikut.
Di portal Microsoft Azure, pilih server Azure Database for MySQL Flexible Server 5.7 yang sudah ada.
Penting
Sebaiknya lakukan peningkatan terlebih dahulu pada salinan server yang dipulihkan daripada meningkatkan produksi secara langsung. Lihat cara melakukan pemulihan titik waktu.
Pada halaman Gambaran Umum , di toolbar, pilih Tingkatkan.
Penting
Sebelum meningkatkan tautan kunjungan untuk daftar fitur yang dihapus di MySQL 8.0. Verifikasi nilai sql_mode yang tidak digunakan lagi, lalu hapus atau batalkan pilihannya dari server Azure Database for MySQL Flexible Server 5.7 Anda saat ini menggunakan Panel Parameter Server di portal Microsoft Azure untuk menghindari kegagalan deployment. sql_mode dengan nilai NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, dan NO_TABLE_OPTIONS tidak lagi didukung di MySQL 8.0.
Melakukan Validasi Pra-Pemutakhiran
Sebelum melanjutkan peningkatan, Pilih tombol Validasi untuk memeriksa kompatibilitas server Anda dengan MySQL 8.0.
Catatan
Saat menggunakan fitur 'Validasi' untuk menilai skema database Anda untuk kompatibilitas dengan MySQL 8.0, harap perhatikan pertimbangan berikut:
- Penguncian Tabel Selama Validasi: Proses validasi melibatkan penguncian tabel untuk memeriksa seluruh skema secara akurat. Ini dapat menyebabkan waktu habis kueri jika database mengalami beban berat.
Rekomendasi: Hindari menjalankan validasi selama jam kerja sibuk atau saat database menangani lalu lintas tinggi. Sebagai gantinya, jadwalkan validasi selama periode aktivitas rendah untuk mengurangi dampak pada operasi.
- Potensi Kinerja Lambat Karena Hasil Set Data yang Besar: Dalam kasus tertentu—terutama dengan basis data yang rumit yang berisi sejumlah besar objek—hasil validasi mungkin menjadi terlalu besar untuk diproses atau ditampilkan dalam alur kerja online. Ini mungkin mengakibatkan operasi 'Validasi' tampak macet atau tetap berlangsung tanpa batas waktu.
Rekomendasi: Jika Anda mengalami masalah ini, sebaiknya lakukan validasi secara lokal menggunakan alat pemeriksa peningkatan sisi klien resmi Oracle, seperti yang disertakan dalam MySQL Shell. Pendekatan ini menghindari batasan ukuran hasil sisi platform dan memberikan output validasi yang lebih rinci dan andal.
- Kasus Penggunaan yang Direkomendasikan untuk Validasi Online: Fitur 'Validasi' online dirancang untuk skema sederhana atau cukup kompleks. Untuk lingkungan produksi skala besar—seperti yang memiliki ribuan tabel, tampilan, rutinitas, atau objek skema lainnya—sebaiknya gunakan alat pemeriksa peningkatan sisi klien Oracle untuk melakukan pemeriksaan kompatibilitas. Ini memastikan bahwa skema penuh dianalisis secara komprehensif dan menghindari potensi masalah yang terkait dengan ukuran hasil atau batas waktu validasi.
Di bilah sisi Peningkatan , dalam kotak teks Versi MySQL untuk meningkatkan , verifikasi versi MySQL utama yang ingin Anda tingkatkan, yaitu, 8.0.
Sebelum dapat meningkatkan server utama, Anda harus terlebih dahulu meningkatkan server replika baca terkait. Hingga ini selesai, Peningkatan akan dinonaktifkan.
Di server utama, pilih pesan konfirmasi untuk memverifikasi bahwa semua server replika telah dimutakhirkan, lalu pilih Tingkatkan.
Pada replika baca dan server mandiri, Peningkatan diaktifkan secara default.
Melakukan peningkatan versi utama yang direncanakan dari MySQL 5.7 ke MySQL 8.0 menggunakan Azure CLI
Untuk melakukan peningkatan versi utama server Azure Database for MySQL Flexible Server 5.7 menggunakan Azure CLI, lakukan langkah-langkah berikut.
Instal Azure CLI untuk Windows atau gunakan Azure CLI di Azure Cloud Shell untuk menjalankan perintah peningkatan.
Peningkatan ini memerlukan Azure CLI versi 2.40.0 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terpasang. Jalankan versi az untuk mengetahui pustaka versi dan dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Setelah Anda masuk, jalankan perintah az mysql server upgrade .
az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
Di bawah permintaan konfirmasi, ketik y untuk mengonfirmasi atau n untuk menghentikan proses peningkatan, lalu tekan Enter.
Lakukan peningkatan versi utama dari MySQL 5.7 ke MySQL 8.0 pada server replika baca menggunakan portal Azure
Untuk melakukan peningkatan versi utama server Azure Database for MySQL Flexible Server 5.7 ke MySQL 8.0 pada replika baca menggunakan portal Microsoft Azure, lakukan langkah-langkah berikut.
Di portal Microsoft Azure, pilih server replika baca Azure Database for MySQL Flexible Server 5.7 yang sudah ada.
Pada halaman Gambaran Umum , di toolbar, pilih Tingkatkan.
Penting
Sebelum meningkatkan tautan kunjungan untuk daftar fitur yang dihapus di MySQL 8.0. Verifikasi nilai sql_mode yang tidak digunakan lagi dan hapus/batal pilih dari server fleksibel Azure Database for MySQL Anda saat ini 5.7 menggunakan halaman Parameter Server di portal Microsoft Azure untuk menghindari kegagalan penyebaran.
Di bagian Peningkatan , pilih Tingkatkan untuk meningkatkan server replika baca Azure Database for MySQL Flexible Server 5.7 ke MySQL 8.0.
Pemberitahuan tampaknya mengonfirmasi bahwa peningkatan berhasil.
Pada halaman Gambaran Umum, pastikan bahwa server replika baca Server Fleksibel Azure Database for MySQL Anda menjalankan versi 8.0.
Sekarang, buka server utama Anda dan lakukan peningkatan versi utama di atasnya.
Lakukan peningkatan versi utama waktu henti minimal dari MySQL 5.7 ke MySQL 8.0 menggunakan replika baca
Untuk melakukan peningkatan versi utama server Azure Database for MySQL Flexible Server 5.7 ke MySQL 8.0 dengan waktu henti minimal menggunakan server replika baca, lakukan langkah-langkah berikut.
Di portal Microsoft Azure, pilih server Azure Database for MySQL Flexible Server 5.7 yang sudah ada.
Buat replika baca dari server utama.
Tingkatkan replika baca Anda ke versi 8.0.
Setelah Anda mengonfirmasi bahwa server replika menjalankan versi 8.0, hentikan aplikasi Anda agar tidak tersambung ke server utama Anda.
Periksa status replikasi untuk memastikan bahwa replika telah tertangkap dengan primer sehingga semua data sinkron dan tidak ada operasi baru yang dilakukan pada primer.
Konfirmasi dengan perintah tampilkan status replika di server replika untuk melihat status replikasi.
SHOW SLAVE STATUS\G
Jika status Slave_IO_Running dan Slave_SQL_Running ya dan nilai Seconds_Behind_Master adalah 0, replikasi bekerja dengan baik. Seconds_Behind_Master menunjukkan seberapa lambat replikanya. Jika nilainya bukan 0, maka replika masih memproses pembaruan. Setelah Anda mengonfirmasi bahwa nilai Seconds_Behind_Master adalah 0, aman untuk menghentikan replikasi.
Dukung replika baca ke primer dengan menghentikan replikasi.
Atur Parameter Server read_only ke 0 (NONAKTIF) untuk mulai menulis pada primer yang dipromosikan.
Arahkan aplikasi Anda ke primer baru (replika sebelumnya) yang menjalankan server 8.0. Setiap server memiliki string koneksi yang unik. Perbarui aplikasi Anda agar mengarah ke replika (mantan) dan bukan ke sumber.
Catatan
Skenario ini hanya menimbulkan waktu henti selama langkah 4 hingga 7.
Tanya jawab umum
Apakah ini akan menyebabkan waktu henti server dan jika demikian, berapa lama?
Untuk memiliki waktu henti minimal selama peningkatan, ikuti langkah-langkah yang disebutkan di bawah Lakukan peningkatan versi utama waktu henti minimal dari MySQL 5.7 ke MySQL 8.0 menggunakan replika baca. Server tidak tersedia selama proses peningkatan, jadi kami sarankan Anda melakukan operasi ini selama jendela pemeliharaan terencana Anda. Perkiraan waktu henti tergantung pada ukuran database, ukuran penyimpanan yang disediakan (IOP yang disediakan), dan jumlah tabel pada database. Waktu peningkatan berbanding lurus dengan jumlah tabel di server. Untuk memperkirakan waktu henti lingkungan server, sebaiknya terlebih dahulu melakukan peningkatan pada salinan server yang dipulihkan.
Apa yang terjadi pada cadangan saya setelah peningkatan?
Semua cadangan (otomatis/sesuai permintaan) yang diambil sebelum peningkatan versi utama, ketika digunakan untuk pemulihan akan selalu memulihkan ke server dengan versi yang lebih lama (5.7). Semua cadangan (otomatis/sesuai permintaan) yang diambil setelah peningkatan versi utama dipulihkan ke server dengan versi yang ditingkatkan (8.0). Sangat disarankan untuk mengambil cadangan sesuai permintaan sebelum Anda melakukan peningkatan versi utama untuk pemutaran kembali yang mudah.
Saat ini saya menggunakan SKU Burstable, apakah Microsoft berencana untuk mendukung peningkatan versi utama untuk SKU ini di masa mendatang?
SKU burstable tidak dapat mendukung pembaruan versi utama karena adanya keterbatasan performa pada SKU ini.
Jika Anda perlu melakukan peningkatan versi utama pada instans Azure Database for MySQL Flexible Server dan saat ini menggunakan SKU Burstable, satu solusi sementara adalah meningkatkan ke SKU General Purpose atau Business Critical, melakukan peningkatan, dan kemudian beralih kembali ke SKU Burstable.
Meningkatkan ke SKU yang lebih tinggi mungkin melibatkan perubahan harga dan dapat mengakibatkan peningkatan biaya untuk penyebaran Anda. Namun, karena proses peningkatan tidak diharapkan memakan waktu lama, biaya tambahan seharusnya tidak signifikan.