Rumah >pembangunan bahagian belakang >tutorial php >Ralat Konfigurasi Pangkalan Data CakePHP: \'SQLSTATE[HY000] [1045] Akses dinafikan untuk \'nama pengguna\'@\'localhost\'\': Apakah Masalahnya dan Bagaimana untuk Membetulkannya?
MySQL Access Denied Ralat: SQLSTATE[HY000] [1045]
Soalan:
Semasa mengkonfigurasi pangkalan data menggunakan CakePHP, saya menghadapi ralat "SQLSTATE[HY000] [1045] Akses ditolak untuk 'nama pengguna'@'localhost' pengguna." Mengapa saya menghadapi isu ini dan bagaimana saya boleh menyelesaikannya?
Jawapan:
Ralat "Akses ditolak" biasanya menunjukkan ketidakpadanan antara kata laluan yang diberikan atau bukan -kewujudan pengguna MySQL yang sepadan untuk hos yang ditentukan. Dalam MySQL, pengguna dikenal pasti melalui nama pengguna dan hos.
Penyelesaian Masalah dan Penyelesaian:
Sahkan Kewujudan Pengguna:
Jalankan pertanyaan berikut untuk menyemak sama ada pengguna dengan nama pengguna dan hos yang diberikan wujud:
<code class="sql">SELECT user, host FROM mysql.user</code>
Jika pengguna tidak wujud, buatnya menggunakan pernyataan CREATE USER.
Kata Laluan Betul:
Pastikan kata laluan yang diberikan untuk pengguna sepadan dengan kata laluan yang disimpan dalam MySQL. Gunakan arahan berikut untuk menukar kata laluan:
<code class="sql">SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password')</code>
Ketidakpadanan Hos:
Hos yang dinyatakan dalam pertanyaan mungkin tidak sepadan dengan hos dikaitkan dengan pengguna. Semak keistimewaan pengguna menggunakan penyata SHOW GRANTS. Jika nilai hos ditetapkan kepada "%", tukarkannya kepada "localhost" untuk memadankan hos dalam rentetan sambungan.
Berikan Keistimewaan:
Pastikan bahawa pengguna mempunyai keistimewaan yang diperlukan pada objek pangkalan data. Gunakan penyata GRANT untuk memberikan kebenaran SELECT, INSERT, UPDATE atau DELETE.
Keistimewaan Flush:
Perubahan yang dibuat pada keistimewaan pengguna berkuat kuasa selepas MySQL membaca semula jadual. Untuk memaksa pembacaan semula, laksanakan pernyataan FLUSH PRIVILEGES.
Nota Tambahan:
Atas ialah kandungan terperinci Ralat Konfigurasi Pangkalan Data CakePHP: \'SQLSTATE[HY000] [1045] Akses dinafikan untuk \'nama pengguna\'@\'localhost\'\': Apakah Masalahnya dan Bagaimana untuk Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!