Rumah > pangkalan data > tutorial mysql > Mengapakah Saya Mendapat Ralat \'Akses Ditolak\' MySQL untuk Pengguna \'test2\'@\'localhost\'?

Mengapakah Saya Mendapat Ralat \'Akses Ditolak\' MySQL untuk Pengguna \'test2\'@\'localhost\'?

Susan Sarandon
Lepaskan: 2024-11-30 05:46:14
asal
907 orang telah melayarinya

Why am I Getting a MySQL

MySQL Access Denied Ralat: 'test2'@'localhost'

Apabila menghadapi ralat "SQLSTATE[HY000] [1045] Access dinafikan untuk pengguna 'test2'@'localhost'", ia menunjukkan bahawa percubaan sambungan ke pangkalan data MySQL sebagai pengguna 'test2' daripada hos 'localhost' telah gagal kerana isu kelayakan atau kebenaran.

Punca Asas

Ralat ini boleh berlaku atas beberapa sebab:

  • Kelayakan Tidak Betul: Pastikan nama pengguna 'test2' dan kata laluan 'komputer' yang disediakan dalam konfigurasi aplikasi (app.php) adalah sah.
  • Pengguna Tidak Dicipta: Sahkan bahawa pengguna MySQL bernama 'test2' wujud pada pangkalan data anda. Anda boleh menyemak ini dengan melaksanakan pertanyaan berikut sebagai pengguna istimewa (cth., root):

    SELECT user, host FROM mysql.user WHERE user = 'test2';
    Salin selepas log masuk

    Jika pertanyaan tidak mengembalikan baris, pengguna itu tidak wujud.

  • Sekatan Akses Pengguna: Walaupun pengguna wujud, ia mungkin tidak mempunyai keistimewaan yang mencukupi untuk menyambung ke pangkalan data atau akses pangkalan data yang ditentukan (pekerjaan). Semak keistimewaan yang diberikan kepada pengguna untuk pangkalan data pekerjaan.

Langkah Penyelesaian Masalah

Untuk menyelesaikan isu ini, ikut langkah berikut:

  1. Sahkan Bukti Kelayakan: Masukkan semula nama pengguna dan kata laluan untuk memastikan ianya betul.
  2. Buat Pengguna Pangkalan Data (jika tiada): Jika pengguna 'test2' tidak ditemui, buatnya menggunakan pertanyaan berikut:

    CREATE USER 'test2'@'localhost' IDENTIFIED BY 'computer';
    Salin selepas log masuk
  3. Berikan Keistimewaan: Pastikan pengguna 'test2' mempunyai keistimewaan yang diperlukan untuk mengakses pangkalan data pekerjaan. Jalankan pertanyaan berikut sebagai pengguna istimewa:

    GRANT SELECT, UPDATE, INSERT, DELETE ON jobs.* TO 'test2'@'localhost';
    Salin selepas log masuk
  4. Keistimewaan Flush: Selepas membuat perubahan pada keistimewaan, siramnya untuk memastikan ia berkuat kuasa:

    FLUSH PRIVILEGES;
    Salin selepas log masuk

Tambahan Pertimbangan

  • Semak nilai hos dalam rentetan sambungan. Ia sepatutnya sepadan dengan hos tempat pelayan MySQL anda sedang berjalan. Dalam kes ini, 'localhost' adalah betul jika anda menyambung ke pangkalan data pada mesin yang sama.
  • Lumpuhkan sebarang tembok api atau perisian antivirus yang mungkin menyekat sambungan.
  • Pertimbangkan untuk menukar nama hos untuk pengguna pangkalan data kepada '%', yang membenarkan sambungan daripada mana-mana hos. Walau bagaimanapun, ini kurang selamat daripada menyatakan nama hos tertentu.

Atas ialah kandungan terperinci Mengapakah Saya Mendapat Ralat \'Akses Ditolak\' MySQL untuk Pengguna \'test2\'@\'localhost\'?. 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