Apabila menyambung ke pangkalan data MySQL daripada PHP, pengguna mungkin menghadapi ralat "SQLSTATE[HY000] [2054] pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien." Isu ini timbul disebabkan oleh ketidakpadanan antara kaedah pengesahan yang digunakan oleh MySQL dan kaedah yang dijangkakan oleh aplikasi klien.
Punca:
MySQL 8.0 memperkenalkan pemalam pengesahan lalai dipanggil caching_sha2_password, yang tidak disokong secara asli oleh versi PHP lama atau beberapa aplikasi klien. Secara lalai, aplikasi mengharapkan untuk mengesahkan menggunakan kaedah berasaskan kata laluan, manakala MySQL 8.0 memerlukan penggunaan pemalam caching_sha2_password.
Penyelesaian:
Untuk menyelesaikan ralat, anda perlu mengubah suai kaedah pengesahan yang digunakan oleh MySQL untuk memadankan kaedah yang diharapkan oleh aplikasi anda. Ikuti langkah berikut:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti 'kata laluan' dengan akar kata laluan.
Tambahan Nota:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Padan' Semasa Menyambungkan PHP ke MySQL 8.0 ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!