Kesalahan 1045 (28000) akses ditolak untuk root pengguna localhost (Diselesaikan)

Diterbitkan: 2023-03-14

“Kesalahan 1045 (28000) akses ditolak untuk pengguna root localhost” adalah kesalahan yang biasa ditemui saat mencoba mengakses MySQL melalui WordPress CMS. Namun, kesalahan ini juga dapat terjadi pada situasi lain.

Kesalahan yang Anda temui menunjukkan bahwa pengguna "root" tidak memiliki otorisasi yang diperlukan untuk mengakses database dari localhost. Alasan di balik masalah ini bisa bermacam-macam, termasuk kata sandi yang salah, nama pengguna yang salah, atau izin yang tidak memadai yang diberikan kepada pengguna.

Berikut adalah beberapa langkah yang dapat Anda ambil untuk mengatasi kesalahan ini

1. Periksa nama pengguna dan kata sandi

Pastikan Anda menggunakan nama pengguna dan kata sandi yang benar. Nama pengguna harus "root" dan kata sandi harus yang Anda atur selama proses instalasi.

Jika Anda menggunakan WordPress, Anda harus memeriksa file wp-config.php Anda. File tersebut dapat ditemukan di folder utama WordPress.

wp-config.php

Setelah membuka file dan mencoba mengeditnya (Visual Studio Code), Anda akan melihat layar ini:

edit nama pengguna dan kata sandi wp-config.php dari DB

Periksa DB_USER dan DB_PASSWORD jika memiliki nilai yang benar

 /** Database username */ define( 'DB_USER', 'root' );
 /** Database password */ define( 'DB_PASSWORD', 'root' );

Jika Anda tidak tahu nama pengguna dan kata sandi untuk DB, Akses cPanel > Database > Mysql dan periksa.

cara mengakses database mysql dengan cpanel

Untuk mengganti password database Wordpress silahkan ikuti tutorial : Ganti Password Wordpress di PHPMyAdmin

2. Periksa apakah pengguna memiliki hak istimewa yang diperlukan

Periksa apakah pengguna "root" memiliki hak istimewa yang diperlukan untuk mengakses database.

Langkah1: Pertama, Anda harus membuka terminal dan menulis ssh [email protected]

 ssh [email protected]

Langkah 2: Setelah berhasil masuk, tuliskan perintah ini

 mysql -uroot -p

Langkah3: Setelah menambahkan kata sandi, Anda dapat mulai menambahkan perintah dari prompt mysql

Langkah4: Anda dapat menggunakan perintah berikut untuk memeriksa hak istimewa:

 SHOW GRANTS FOR 'root'@'localhost';

Ini akan menampilkan daftar hak istimewa yang dimiliki pengguna "root" untuk server "localhost". Jika pengguna tidak memiliki hak istimewa yang diperlukan, Anda dapat memberikannya menggunakan perintah berikut:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password';

Catatan: Ganti 'kata sandi' dengan kata sandi yang ingin Anda gunakan.

Untuk memeriksa apakah pengguna memiliki hak istimewa yang diperlukan menggunakan phpMyAdmin, ikuti langkah berikut:

  1. Masuk ke akun phpMyAdmin Anda.
  2. Klik pada tab "Akun Pengguna".
  3. Pilih di root pengguna (atau yang ingin Anda ubah kata sandinya)
  4. Klik tautan Edit hak istimewa
  5. Di sini Anda dapat melihat daftar hak istimewa yang telah diberikan kepada pengguna.
  6. Pastikan bahwa pengguna telah diberikan hak istimewa yang diperlukan untuk mengakses database.
  7. Jika pengguna tidak memiliki hak istimewa yang diperlukan, Anda dapat memberikannya dengan mencentang kotak yang relevan dan mengeklik tombol "Mulai".
  8. Setelah Anda memberikan hak istimewa yang diperlukan, coba akses kembali database untuk melihat apakah masalah telah teratasi.
tautan hak istimewa edit phpmyadmin

Pengaturan di area yang disorot harus diperiksa:

hak istimewa pengguna phpmyadmin

Catatan: Jika Anda tidak dapat memberikan hak istimewa yang diperlukan melalui phpMyAdmin, Anda mungkin perlu mengakses antarmuka baris perintah MySQL untuk memberikan hak istimewa.

3. Periksa status server MySQL

Pastikan bahwa server MySQL berjalan. Anda dapat memeriksa status server dengan menjalankan perintah berikut setelah login di shell server:

 systemctl status mysql

Jika server tidak berjalan, mulai menggunakan perintah berikut:

 systemctl start mysql

Untuk mengecek status Mysql di cPanel hosting Anda harus login ke dashboard hosting Anda. Cara lain adalah dengan menghubungi langsung penyedia hosting Anda.

4. Periksa apakah server MySQL mendengarkan port yang benar

Pastikan server MySQL mendengarkan port yang benar. Port default untuk MySQL adalah 3306 .

Untuk memeriksa apakah server MySQL mendengarkan port yang benar, Anda dapat mengikuti langkah-langkah berikut:

1. Buka terminal atau command prompt di server tempat MySQL diinstal.

2. Sambungkan ke server MySQL menggunakan klien baris perintah. Anda dapat menggunakan perintah berikut, mengganti username dan password dengan kredensial MySQL Anda yang sebenarnya:

 mysql -u username -p

3. Setelah Anda terhubung ke server MySQL, ketikkan perintah berikut untuk menampilkan nomor port yang didengarkan oleh server MySQL:

SHOW VARIABLES LIKE 'port';

Perintah ini akan menampilkan nomor port yang didengarkan oleh server MySQL. Secara default, MySQL mendengarkan pada port 3306.

Anda juga dapat memeriksa nomor port di file konfigurasi MySQL.

File konfigurasi biasanya bernama my.cnf atau my.ini , dan terletak di direktori instalasi MySQL.

Untuk menemukan direktori instalasi MySQL, Anda dapat mengikuti langkah-langkah berikut:

1. Buka terminal atau command prompt di server tempat MySQL diinstal.

2. Ketik perintah berikut untuk memeriksa apakah MySQL sudah terinstal:

which mysql

Jika MySQL terinstal, perintah ini akan menampilkan jalur ke file eksekusi mysql jika tidak, Anda akan menerima pesan kesalahan.

Jika MySQL diinstal, Anda dapat menggunakan perintah which lagi untuk menemukan direktori instalasi. Ketik perintah berikut, ganti /path/to/mysql dengan path ke file executable mysql :

 which mysql | xargs readlink -f | sed "s|bin/mysql$||"

Perintah ini akan menampilkan direktori instalasi MySQL. Anda dapat menggunakan direktori ini untuk menemukan file konfigurasi MySQL ( my.cnf atau my.ini ) dan file serta direktori MySQL lainnya.

Sebagai alternatif, jika Anda memiliki akses ke klien MySQL, Anda juga dapat menjalankan kueri berikut untuk menemukan direktori instalasi MySQL:

 SELECT @@basedir;

Ini akan menampilkan direktori instalasi MySQL.

Anda juga dapat memeriksa file konfigurasi MySQL untuk memverifikasi nomor port yang dikonfigurasi untuk didengarkan oleh MySQL. File konfigurasi biasanya bernama my.cnf atau my.ini , dan terletak di direktori instalasi MySQL.

port my.cnf dan sql

Buka file konfigurasi dengan editor teks dan cari parameter port. Nilai parameter ini menentukan nomor port yang dikonfigurasi untuk didengarkan oleh MySQL.

Jika server MySQL tidak mendengarkan pada port yang benar, Anda dapat mengubah parameter port di file konfigurasi dan memulai ulang server MySQL untuk menerapkan perubahan.

Jangan lupa untuk me-restart layanan Mysql jika Anda mengubah port:

 service mysql restart

5. Atur ulang kata sandi root

Jika tidak ada langkah di atas yang berhasil, Anda dapat mencoba mengatur ulang kata sandi root. Anda dapat melakukannya dengan mengikuti langkah-langkah dalam artikel ini:

https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

Catatan: Metode ini mengharuskan Anda memiliki akses ke file konfigurasi MySQL dan kemampuan untuk memulai ulang server MySQL.

Anda mungkin tertarik membaca:

Cara Mengatasi Error “Installation Failed: Could Not Create Directory” di WordPress

Cara Memperbaiki WordPress Terjebak dalam Mode Pemeliharaan (SOLVED)

Cara Mengatasi “Update Failed. Responsnya Bukan Respons JSON yang Valid”

Bagaimana Cara Memperbaiki “Kesalahan Membangun Koneksi Database”? – 2023