Jika kamu telah selesai instalasi MySQL 8, dan selesai instalasi Install PHP 7.2 dengan Nginx beserta phpmyadminnya, lalu kamu tidak bisa login phpMyAdmin padahal login cli biasa bisa, kenapa ya bisa demikian?
itu dikarenakan aplikasi phpmyadmin belum support untuk login dengan password root caching_sha2_password alias password root kamu tidak menggunakan mysql_native_password seperti mysql atau mariaDB pada versi sebelumnya.
Cannot log in to the MySQL server mysqli_real_connect():
The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
Lalu apa yang harus dilakukan? Berikut solusinya :
- Login mysql seperti biasa terlebih dahulu pada ssh / cli kalian dengan cara :
mysql -u root -p
Masukkan password seperti biasa yang telah kamu set diawal (pasti bisa langsung masuk kan)
- Check isi data dari kolom pada tabel user di database mysql dengan cara memasukkan perintah :
mysql> select User,host,plugin from mysql.user;
- Hasil tampilnya kurang lebih seperti berikut :
+------------------+-----------+-----------------------+ | User | host | plugin | +------------------+-----------+-----------------------+ | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | caching_sha2_password | +------------------+-----------+-----------------------+
- Pada nomor 3 diatas tandanya password user root pada mysql kamu menggunakan plugin caching_sha2_password yang membuat pencegahan pada aplikasi yang tidak diizinkan untuk login sebagai root.
- Kamu bisa menonaktifkan plugin tersebut, agar kamu bisa login root mysql8 seperti biasa di phpmyadmin dengan cara masukkan perintah berikut :
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
Pastikan untuk mengganti test dengan password mysql yang akan kamu gunakan sebagai login root.
- Lalu jika sudah selesai, coba login phpmyadmin seperti biasa.
Selamat! kamu bisa login root kembali phpmyadmin seperti biasa 🙂
Oh ya jika kamu ingin buat user baru pada mysql 8 agar menggunakan mysql_native_password, kamu bisa menggunakan perintah :
CREATE USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
Selesai, semoga terbantu ya dari masalah tidak bisa login root phpmyadmin mysql 8 nya.
Kamu bisa memulai menginstall MySQL 8 Server kembali dengan mengikuti tutorial pada link Install MySQL 8 di Ubuntu 16.04