Akses Ditolak Ralat Semasa Menyambung ke MySQL dalam CakePHP
Masalah:
Pembangun menggunakan CakePHP mungkin menghadapi ralat berikut apabila cuba menyambung ke pangkalan data MySQL:
SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)
Penyelesaian:
Ralat ini biasanya menunjukkan bahawa:
Langkah Penyelesaian Masalah:
Sahkan Kewujudan Pengguna:
Jalankan pertanyaan berikut daripada klien MySQL yang anda mempunyai keistimewaan yang mencukupi:
SELECT user, host FROM mysql.user WHERE user = 'username' AND host = 'localhost';
Jika tiada baris dikembalikan, pengguna tidak wujud dengan hos yang ditentukan.
Jika baris wujud, langkau ke langkah 3.
Buat Pengguna MySQL:
Jika pengguna tidak wujud, ciptakannya dengan arahan berikut:
CREATE USER username@localhost IDENTIFIED BY 'password';
Tetapkan Semula Kata Laluan:
Jika pengguna wujud tetapi kata laluan tidak betul, tetapkan semula dengan arahan berikut:
SET PASSWORD FOR username@localhost = PASSWORD('new_password');
Berikan Kebenaran:
Pastikan pengguna mempunyai kebenaran yang diperlukan pada objek pangkalan data:
GRANT <permissions> ON <database_name>.* TO username@localhost;
Ganti
Keistimewaan Flush:
Laksanakan arahan berikut untuk memaksa MySQL membaca semula jadual keistimewaan:
FLUSH PRIVILEGES;
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \'Access Denied\' semasa menyambung ke MySQL dalam CakePHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!