Mengapakah saya mendapat ralat \'Access Denied\' semasa menyambung ke MySQL dalam CakePHP?

Patricia Arquette
Lepaskan: 2024-10-27 07:05:29
asal
162 orang telah melayarinya

Why am I getting an

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)
Salin selepas log masuk

Penyelesaian:

Ralat ini biasanya menunjukkan bahawa:

  • Kata laluan tidak betul.
  • Pengguna MySQL yang ditentukan tidak wujud untuk hos yang disediakan.

Langkah Penyelesaian Masalah:

  1. 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';
    Salin selepas log masuk

    Jika tiada baris dikembalikan, pengguna tidak wujud dengan hos yang ditentukan.

    Jika baris wujud, langkau ke langkah 3.

  2. Buat Pengguna MySQL:

    Jika pengguna tidak wujud, ciptakannya dengan arahan berikut:

    CREATE USER username@localhost IDENTIFIED BY 'password';
    Salin selepas log masuk
  3. 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');
    Salin selepas log masuk
  4. Berikan Kebenaran:

    Pastikan pengguna mempunyai kebenaran yang diperlukan pada objek pangkalan data:

    GRANT <permissions> ON <database_name>.* TO username@localhost;
    Salin selepas log masuk

    Ganti dengan kebenaran yang diingini (cth., SELECT, INSERT).

  5. Keistimewaan Flush:

    Laksanakan arahan berikut untuk memaksa MySQL membaca semula jadual keistimewaan:

    FLUSH PRIVILEGES;
    Salin selepas log masuk

Pertimbangan Tambahan:

  • Hos pengguna boleh ditetapkan kepada nilai kad bebas (%) untuk memadankan mana-mana hos yang tidak dipadankan secara eksplisit.
  • Mesej ralat juga boleh menunjukkan ketidakpadanan antara hos yang dinyatakan dalam tetapan sambungan CakePHP dan hos yang dikonfigurasikan untuk pengguna MySQL.
  • Rujuk dengan Dokumentasi MySQL untuk maklumat lanjut tentang pengurusan dan kebenaran pengguna.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!