Halo semuanya! Jika kamu pernah mengalami masalah saat mencoba mengakses database di Ubuntu 20.04 LTS dengan pesan error “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))”, maka kamu bukanlah satu-satunya yang mengalaminya.
Masalah ini sering terjadi dan dapat membuat frustrasi karena menghambat jalannya aplikasi web.
Namun, jangan khawatir! Di artikel ini, saya akan memberikan beberapa cara untuk mengatasi masalah ini.
Kita akan membahas beberapa penyebab umum dari masalah ini dan cara mengatasinya.
Setelah membaca artikel ini, kamu akan tahu cara mengatasi masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” dengan mudah di Ubuntu 20.04 LTS.
Jadi, mari kita mulai dan selesaikan masalah ini bersama-sama!
Penyebab Masalah Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))
Ada beberapa penyebab umum dari masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” di Ubuntu 20.04 LTS. Berikut adalah beberapa di antaranya:
- Kesalahan konfigurasi pengguna: Mungkin terdapat kesalahan dalam konfigurasi pengguna di MySQL, sehingga mengakibatkan masalah dalam koneksi database. Salah satu contohnya adalah konfigurasi pengguna root yang tidak sesuai.
- Hak akses yang tidak memadai: Pengguna mungkin tidak memiliki hak akses yang cukup untuk mengakses database atau melakukan koneksi dari localhost.
- Password pengguna root yang salah: Jika password pengguna root salah atau tidak diatur dengan benar, maka akan terjadi masalah saat mencoba melakukan koneksi ke database.
- Konfigurasi keamanan MySQL yang salah: Konfigurasi keamanan MySQL mungkin tidak diatur dengan benar sehingga menghalangi koneksi dari pengguna root di localhost.
Untuk mengatasi masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))”, kita perlu mengidentifikasi penyebab masalah terlebih dahulu.
Dengan mengetahui penyebabnya, kita dapat menentukan solusi yang tepat untuk mengatasinya.
Cara Mengatasi Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698)) di Ubuntu
Berikut adalah beberapa cara untuk mengatasi masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” di Ubuntu 20.04 LTS:
- Mengecek konfigurasi pengguna dan hak akses
- Pertama, kita perlu memastikan bahwa konfigurasi pengguna dan hak akses di MySQL sudah diatur dengan benar. Pastikan bahwa pengguna root memiliki hak akses yang cukup dan tidak terbatas hanya pada localhost.
- Buka terminal dan masuk ke MySQL dengan menggunakan perintah:
sudo mysql -u root -p
- Kemudian, jalankan perintah:
SELECT User, Host, plugin FROM mysql.user;
- Pastikan bahwa pengguna root memiliki akses ke semua host (
%
) dan menggunakan plugin authenticationauth_socket
. - Jika pengguna root tidak memiliki hak akses ke semua host, maka kita perlu menambahkan hak akses dengan perintah:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
- Jangan lupa untuk mengganti “password” dengan password yang ingin digunakan.
- Mengatur ulang password pengguna root
- Jika password pengguna root salah atau tidak diatur dengan benar, kita dapat mengatur ulang password dengan perintah:
sudo mysql_secure_installation
- Kemudian, ikuti langkah-langkah yang ada dan atur ulang password untuk pengguna root.
- Jika password pengguna root salah atau tidak diatur dengan benar, kita dapat mengatur ulang password dengan perintah:
- Membuat pengguna baru dengan hak akses yang sesuai
- Jika pengguna root tidak dapat diakses, kita dapat membuat pengguna baru dengan hak akses yang sesuai menggunakan perintah:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
- Berikan hak akses yang sesuai pada pengguna baru dengan perintah:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
- Jangan lupa untuk mengganti “username” dan “password” dengan nama pengguna dan password yang ingin digunakan.
- Jika pengguna root tidak dapat diakses, kita dapat membuat pengguna baru dengan hak akses yang sesuai menggunakan perintah:
- Mengubah konfigurasi keamanan MySQL untuk mengizinkan koneksi root dari localhost
- Jika konfigurasi keamanan MySQL menghalangi koneksi root dari localhost, kita perlu mengubah konfigurasi dengan mengedit file
/etc/mysql/mysql.conf.d/mysqld.cnf
. - Temukan baris
bind-address
dan ubah nilainya menjadi0.0.0.0
untuk mengizinkan koneksi dari semua host. - Restart MySQL dengan perintah:
sudo service mysql restart
.
- Jika konfigurasi keamanan MySQL menghalangi koneksi root dari localhost, kita perlu mengubah konfigurasi dengan mengedit file
Dengan mengikuti salah satu atau beberapa cara di atas, kita dapat mengatasi masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” di Ubuntu 20.04 LTS.
Kesimpulan
Kesalahan “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” di Ubuntu 20.04 LTS dapat terjadi karena beberapa penyebab, seperti kesalahan konfigurasi pengguna, hak akses yang tidak memadai, password pengguna root yang salah, atau konfigurasi keamanan MySQL yang salah.
Untuk mengatasi masalah ini, kita dapat mengidentifikasi penyebab masalah terlebih dahulu dan kemudian menggunakan beberapa solusi yang telah dijelaskan di atas.
Perlu diingat bahwa penggunaan hak akses yang tepat, password yang kuat, dan konfigurasi keamanan MySQL yang benar sangat penting untuk menjaga keamanan dan stabilitas database kita.
Dengan mengikuti langkah-langkah yang dijelaskan, kita dapat mengatasi masalah “Access denied for user ‘root’@’localhost’ (mysqli_real_connect(): (HY000/1698))” dengan mudah.