MySQL Error 1698 (28000)

Feb 29, 2020 Linux

MySQL Error 1698 (28000): Error Access denied for user ‘root’@‘localhost’ [Problem Solved]

Pengantar

Pernahkah kalian setelah melakukan install MySQL di server atau di desktop dan ketika ingin mencoba akses tiba-tiba menemukan pesan error MySQL Error 1698 (28000) seperti ini :

geekid@geekid:~$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Error tersebut muncul apabila ketika user biasa (geekid) mengakses mysql dengan user root tidak bisa, akan tetapi jika menggunakan sudo akan berhasil. Lalu, bagaimana caranya agar user biasa bisa mengakses mysql dengan user root tanpa menggunakan sudo? berikut ini pembahasan untuk menangani error tersebut.

Solusi MySQL Error 1698 (28000)

Setelah mencari di beberapa forum akhir kami mendapatkan salah satu referensi dari forum tersebut dan mencoba solusinya, salah satu solusi yang diberikan pada forum tersebut adalah dengan menghapus user root dan membuat ulang user root. Bagaimana caranya menghapus dan membuat ulang user root berikut ini caranya :

Pertama, silakan kalian akses mysql melalui sudo agar bisa login sebagai user root untuk commandnya bisa ikuti berikut ini :

geekid@geekid:~$ sudo mysql -u root -p

Setelah bisa akses mysqlnya kalian bisa langsung drop atau delete user root dengan menggunakan command berikut ini :

mysql > drop user 'root'@'localhost';

Karena user root telah terhapus jangan exit dahulu ya, buat ulang user root dengan menggunakan command berikut ini :

mysql > create user 'root&'@'%' identified by 'password_kalian';

Note : pada password_kalian itu silakan kalian ganti dengan menggunakan password yang ingin kalian gunakan.

Jangan lupa juga untuk memberikan Grant All Privileges untuk user root, agar bisa mengakses seluruh database yang dibuat nanti. Silakan kalian jalankan command ini untuk memberikan grant all privileges :

mysql > grant all privileges on *.* to 'root'@'%' with grant option;

Lalu update permissions tablenya dengan menggunakan command berikut ini :

mysql > flush privileges;

Silakan kalian coba exit dari mysql dan coba jalankan kembali command akses mysql kali ini tapi tanpa menggunakan sudo seperti ini :

geekid@geekid:~$ mysql -uroot -p

referensi : Askubuntu : mysql -u root doesnt work but sudo mysql -u root does, why?

Kesimpulan

Banyak macam error terkait mysql, salah satunya adalah MySQL Error 1698 (28000): Error Access denied for user ‘root’@’localhost’. Untuk mengatasi error ini salah satu caranya adalah dengan drop/delete user root dan create kembali user rootnya.

Error ini muncul ketika user biasa tidak bisa akses mysql dengan user root dan harus menggunakan command sudo agar bisa mengakses MySQLnya.

Apabila kalian masih bingung untuk cara memperbaiki error seperti ini, silakan kalian tinggalkan komentar kami siap membantu kalian.