Ralat MySQL 8.0: Menyelesaikan Ketidakkonsistenan Pengesahan dengan Aplikasi PHP
Pembangun PHP yang menyambung ke pangkalan data MySQL 8.0 mungkin menghadapi ralat "Pelayan meminta pengesahan kaedah yang tidak diketahui oleh pelanggan." Ralat ini biasanya disebabkan oleh ketidakpadanan antara kaedah pengesahan yang digunakan oleh pangkalan data MySQL dan aplikasi PHP.
Konflik Kaedah Pengesahan:
MySQL 8.0 menggunakan caching_sha2_password sebagai kaedah pengesahan lalai, manakala banyak aplikasi PHP mengharapkan untuk menggunakan pengesahan berasaskan kata laluan tradisional. Apabila aplikasi cuba menyambung ke pangkalan data dengan kaedah pengesahan yang salah, pelayan mengembalikan ralat yang disebutkan di atas.
Penyelesaian:
Untuk menyelesaikan isu ini, ia adalah perlu untuk mengubah suai kaedah pengesahan yang digunakan oleh pangkalan data MySQL agar sepadan dengan yang diharapkan oleh aplikasi PHP. Ini boleh dicapai dengan menukar pemalam pengesahan pangkalan data MySQL kepada mysql_native_password, yang menyokong pengesahan berasaskan kata laluan.
Langkah untuk Menukar Pemalam Pengesahan:
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Ganti 'new_password' dengan kata laluan selamat pilihan anda.
Sumber Tambahan:
Untuk maklumat lanjut tentang topik ini, sila rujuk sumber berikut:
Atas ialah kandungan terperinci Bagaimana untuk Memperbaiki 'Pelayan meminta kaedah pengesahan yang tidak diketahui oleh pelanggan' Ralat dalam MySQL 8.0 dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!