Mengatasi Error Authentication Method Unknown Phpmyadmin di Ubuntu
Jika kamu mengalami error seperti pada gambar di atas, itu berarti phpmyadmin tidak mendukung untuk proses autentikasi login dengan metode caching_sha2_password. Versi ubuntu yang saya gunakan ketika ada error ini adalah 20.04 LTS Focal Fossa.
Bagaimana solusinya?
Kita bisa dengan merubah password user yang ada di mysql dengan metode mysql_native_password. Urutannya kira-kira seperti ini:
- Merubah password user root dengan plugin mysql_native_password
- Login ke dalam mysql dengan user root yang sudah diubah passwordnya tadi
- Buat user baru untuk login ke dalam phpmyadmin dengan password plugin mysql_native_password
1. Ubah password user root di mysql
Masuk ke mysql dengan mengetikkan di terminal:
sudo mysql
Selanjutnya, cek authentication method pada setiap user di mysql dengan perintah:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Sekarang coba lihat plugin yang digunakan oleh user root harusnya bukan mysql_native_password, biasanya auth_socket. Kita akan merubah konfigurasi password user root dengan perintah ALTER
pada mysql:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Isi password dengan yang kamu inginkan. Lalu, ketik FLUSH PRIVILEGES
untuk me-reload mysql server dan menambahkan perubahan password tadi:
FLUSH PRIVILEGES;
Cek konfigurasi metode password pada user root, seharusnya sudah berubah menjadi mysql_native_password:
SELECT user,authentication_string,plugin,host FROM mysql.user;
2. Login ke dalam mysql dengan password user root yang sudah diubah
Ketik di terminal:
mysql -u root -p
Kemudian masukkan password sesuai dengan yang telah diubah sebelumnya.
3. Buat user baru dan login ke dalam phpmyadmin
Sampai tahap ini harusnya sudah masuk ke dalam mysql dan buat user baru dengan mengetikkan perintah:
CREATE USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti user dan password dengan yang kamu inginkan, kemudian beri hak akses untuk user tersebut:
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
Setelah berhasil dibuat bisa dengan mengetikkan perintah exit
untuk keluar dari mysql:
exit
Penutup
Sekarang kamu sudah bisa untuk login ke dalam phpmyadmin dengan user baru yang telah dibuat sebelumnya. Jika masih ada kendala, silahkan komentar di bawah ini.