Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat MySQL 1045: Akses Ditolak?

Bagaimana untuk Menyelesaikan Ralat MySQL 1045: Akses Ditolak?

DDD
DDDasal
2024-11-28 18:06:12989semak imbas

How to Resolve MySQL Error 1045: Access Denied?

Ralat: SQLSTATE[HY000] [1045] Akses Ditolak untuk Pengguna "username"@'localhost'

Ikhtisar

Ralat ini berlaku apabila mencuba untuk mengakses pangkalan data daripada pengguna dan hos tertentu tetapi dinafikan kerana kelayakan yang tidak sah atau pengguna yang hilang keistimewaan.

Memeriksa Konfigurasi Pengguna

1. Kewujudan Pengguna Pangkalan Data

Sahkan bahawa pengguna yang ditentukan ("test2") wujud dalam pangkalan data MySQL. Jalankan pertanyaan berikut:

SELECT user, host FROM mysql.user;

Cari baris di mana "pengguna" ialah "test2" dan "hos" ialah "host tempatan" atau kad bebas ("%"), seperti yang ditunjukkan dalam mesej ralat.

2. Pengesahan Kata Laluan

Jika pengguna pangkalan data wujud, semak sama ada kata laluan itu sepadan dengan kata laluan yang digunakan dalam permintaan sambungan. Tukar kata laluan jika perlu:

SET PASSWORD FOR 'test2'@'localhost' = PASSWORD('new_password');

Memberi Keistimewaan

1. Menyemak Kebenaran

Sahkan bahawa pengguna pangkalan data mempunyai keistimewaan yang mencukupi pada objek pangkalan data yang dikehendaki. Contohnya, untuk memberikan keistimewaan SELECT pada pangkalan data "pekerjaan":

GRANT SELECT ON jobs.* TO 'test2'@'localhost';

2. Keistimewaan Menyegarkan

Selepas mengubah suai jadual keistimewaan, laksanakan kenyataan FLUSH PRIVILEGES untuk menjadikan perubahan berkesan:

FLUSH PRIVILEGES;

Penyelesaian Masalah Tambahan

1. Hos Tidak Padan

Pastikan hos yang dinyatakan dalam permintaan sambungan ("localhost") sepadan dengan hos yang dikaitkan dengan pengguna dalam pangkalan data. Tukar hos kepada "localhost" atau "%".

2. Menyekat Firewall

Lumpuhkan tembok api buat sementara waktu untuk menyemak sama ada ia menyekat akses kepada MySQL pada port yang ditentukan. Laraskan port dalam permintaan sambungan jika perlu.

3. Nama Pengguna atau Kata Laluan Salah

Semak dua kali nama pengguna dan kata laluan pangkalan data yang digunakan dalam permintaan sambungan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1045: Akses Ditolak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn