Cara Upgrade MySQL 8.0 bawaan Laragon ke Versi 8.4

Jika Anda menggunakan Laragon dan ingin menggunakan MySQL 8.4 ke atas, ada informasi penting mengenai MySQL terbaru ini karena banyaknya perubahan pada MySQL 8.4. Pada saat saya membaca forum diskusi Laragon di GitHub, ada banyak laporan masalah MySQL 8.4 yang tidak bisa berjalan karena default_authentication_plugin=mysql_native_password sudah dihapus pada MySQL terbaru. Selain itu, Laragon yang belum mendapatkan pembaruan sejak 2022 juga memperparah masalah tersebut dengan mengubah setelan pada my.ini menggunakan setelan ala MySQL 8.0.

MySQL Error di Laragon

2024-06-17T15:53:33.834191Z 0 [ERROR] [MY-000067] [Server] unknown variable 'default_authentication_plugin=mysql_native_password'.
2024-06-17T15:53:33.898011Z 0 [ERROR] [MY-010119] [Server] Aborting
2024-06-17T15:53:35.019503Z 0 [System] [MY-010910] [Server] C:\laragon\bin\mysql\mysql-8.4.0-winx64\bin\mysqld: Shutdown complete (mysqld 8.4.0)  MySQL Community Server - GPL.
2024-06-17T15:53:35.022437Z 0 [System] [MY-015016] [Server] MySQL Server - end.

In the new release of MySQL 8.4 they pretty much broke how MySQL is setup in Laragon. Reason as follows:

  1. The ability to use plain password is removed in MySQL. Link
  2. How Laragon initiate new database for every new version are hardcoded in the program using old 8.0 template.

 ~ meorajul @ GitHub

Karena masalah tersebut, mengganti versi MySQL ke versi terbaru tidak bisa dilakukan hanya dengan beberapa klik saja, tetapi harus melakukan langkah khusus untuk upgrade. Silakan ikuti langkah-langkah berikut untuk mengupgrade MySQL di Laragon.

  1. Download MySQL 8.4 jika Anda belum download, lalu ekstrak file yang didownload ke C:\laragon\bin\mysql.
  2. Klik tombol Terminal pada Laragon, lalu masukkan perintah cd C:\laragon\bin\mysql\mysql-8.4.0-winx64\bin diikuti perintah mysqld --initialize --datadir="C:\laragon\data\mysql-8.4" --basedir="C:\laragon\bin\mysql\mysql-8.4.0-winx64" --console.
    Cmder
    Setelah dijalankan, password sementara akan dibuat. Jadi, jangan tutup Terminal dulu.
  3. Copy file my.ini dari folder mysql-8.0.30-winx64 ke folder yang sudah diekstrak tadi, lalu buka file tersebut dengan Notepad atau sejenisnya.
    my.ini di MySQL 8.4
  4. Tambahkan baris berikut di bawah explicit_defaults_for_timestamp=1, lalu tambahkan tanda # di depan default_authentication_plugin=mysql_native_password. Anda juga bisa menggantinya dengan mysql_native_password=ON. Jangan lupa untuk mengisi entri password dengan password yang akan digunakan nantinya (bukan password yang dibuat pada langkah ke-2) dan hilangkan tanda # pada password.
    mysql datadir & basedir
    datadir="C:/laragon/data/mysql-8.4"
    basedir="C:/laragon/bin/mysql/mysql-8.4.0-winx64"
    my.ini client password
  5. Simpan file, lalu klik kanan pada file my.ini, dan klik Properties. Beri tanda centang pada Read-only, lalu klik OK.
    my.ini readonly
    Dengan menandai my.ini Read-only, perubahan tidak dapat dilakukan termasuk dari Laragon sendiri.
  6. Kembali ke Laragon. Klik Menu -> MySQL -> Version -> mysql-8.4.0-winx64 untuk mengganti versi MySQL ke versi 8.4.
    Ganti versi MySQL di Laragon
  7. Jalankan MySQL dengan klik Start MySQL pada menu MySQL.
  8. Buka HeidiSQL pada menu MySQL, lalu login dengan user root dan password sementara yang dibuat pada langkah ke-2.
    HeidiSQL: Pilih koneksi dan masukkan kredensial
  9. Jika muncul pesan Access Denied walaupun password sudah benar, ganti Library menjadi libmariadb.dll. Jika muncul pesan Change expired password, isi dengan password sesuai password yang Anda buat di my.ini, lalu klik OK. Jika berhasil, maka manajemen database akan terbuka.
    HeidiSQL
    Kini MySQL 8.4 sudah bisa digunakan tanpa masalah. Karena password sudah diganti, Anda bisa menutup Terminal.

Demikian tutorial upgrade MySQL di Laragon. Saya harap Laragon segera merilis versi terbaru yang mendukung MySQL 8.4 dan seterusnya.

Catatan: Jika Anda ingin mengubah setelan MySQL, matikan MySQL dulu dan hilangkan tanda Read-only pada file my.ini, lalu buka file dan edit seperti biasa, kemudian simpan dan tandai Read-only lagi.

Komentar