Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada Amaran PHP: mysqli_query(): (HY000/1045): Akses ditolak untuk pengguna

Penyelesaian kepada Amaran PHP: mysqli_query(): (HY000/1045): Akses ditolak untuk pengguna

WBOY
WBOYasal
2023-06-23 10:10:031633semak imbas

Apabila menggunakan PHP untuk menyambung ke pangkalan data MySQL, anda sering menghadapi mesej ralat "Amaran PHP: mysqli_query(): (HY000/1045): Akses ditolak untuk pengguna".

Ralat ini biasanya disebabkan oleh nama pengguna atau kata laluan pangkalan data yang salah. Jika ia tidak dikendalikan tepat pada masanya, PHP tidak akan dapat menyambung ke pangkalan data MySQL dan tidak dapat melaksanakan operasi pangkalan data.

Berikut ialah beberapa cara biasa untuk menyelesaikan masalah ini:

  1. Semak sama ada nama pengguna dan kata laluan pangkalan data adalah betul

Semak sama ada nama pengguna dan kata laluan adalah betul dalam kod php Nama pengguna dan kata laluan adalah sama seperti dalam pangkalan data MySQL, termasuk kes yang betul. Jika ia adalah sambungan setempat, anda boleh cuba menyambung menggunakan akaun akar atau akaun lain dengan hak akses pangkalan data untuk menyemak sama ada mereka boleh menyambung dengan jayanya.

  1. Semak sama ada pelayan MySQL sedang berjalan

Jika pelayan MySQL tidak berjalan, anda tidak akan dapat menyambung kepadanya. Jalankan arahan "service mysql status" atau "systemctl status mysqld.service" pada terminal, atau gunakan "mysqli_connect_errno()" dalam kod PHP untuk menyemak sama ada ralat berlaku dalam sambungan Jika perkhidmatan MySQL tidak bermula, anda perlu menyelesaikan masalah dengan memulakan soalan pelayan MySQL.

  1. Semak sama ada pengguna mysql dibenarkan untuk menggunakannya

Jika pengguna MySQL tidak mempunyai kebenaran untuk menggunakan pangkalan data, operasi pangkalan data tidak boleh dilakukan. Jalankan arahan berikut untuk membenarkan pengguna mysql menggunakan pangkalan data: BERIKAN SEMUA . KEPADA 'mysqluser'@'localhost' DIKENAL PASTI OLEH 'kata laluan';

  1. Semak firewall tetapan

Semak sama ada tetapan tembok api anda membenarkan komunikasi dengan pelayan MySQL. Biasanya, pelayan MySQL menggunakan port 3306 untuk sambungan secara lalai, jadi anda perlu memastikan bahawa port ini dibenarkan melalui tembok api.

  1. Semak log pelayan MySQL

Log pelayan MySQL mungkin memberikan butiran tentang kegagalan sambungan. Cari fail log ralat dalam direktori pemasangan MySQL dan cuba cari rekod tentang kegagalan sambungan.

Akhir sekali, sebaik sahaja mesej ralat "PHP Warning: mysqli_query(): (HY000/1045): Access denied for user" muncul, kita perlu menyiasat pelbagai kemungkinan punca satu persatu mengikut situasi tertentu, dan selepas menyelesaikan masalah Cuba sambung semula ke pangkalan data MySQL untuk memastikan PHP boleh menyambung dengan lancar dan melaksanakan operasi pangkalan data.

Atas ialah kandungan terperinci Penyelesaian kepada Amaran PHP: mysqli_query(): (HY000/1045): Akses ditolak untuk pengguna. 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
Artikel sebelumnya:Sistem Beratur Mesej dalam PHPArtikel seterusnya:Sistem Beratur Mesej dalam PHP