Ralat Pengesahan Selesai: mysqli_connect Kaedah Pengesahan Tidak Diketahui ([caching_sha2_password])
Apabila menyambung ke pangkalan data MySQL menggunakan mysqli_connect PHP, anda mungkin menghadapi ralat berikut: "Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]". Isu ini timbul apabila Pelayan MySQL dikonfigurasikan untuk menggunakan kaedah pengesahan caching_sha2_password, yang tidak disokong secara asli oleh akaun pengguna tertentu atau mungkin memerlukan konfigurasi tambahan.
Punca Ralat:
Kaedah pengesahan caching_sha2_password ialah kaedah selamat yang digunakan oleh Pelayan MySQL untuk penyimpanan kata laluan dan pengesahan. Ia menggantikan kaedah mysql_native_password yang lebih lama dan meningkatkan keselamatan dengan menyimpan kata laluan dalam bentuk cincang. Secara lalai, caching_sha2_password menjadi kaedah pengesahan lalai apabila syarat tertentu dipenuhi.
Menyelesaikan Isu:
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
[mysqld] default_authentication_plugin=mysql_native_password
Nota:
Selepas membuat perubahan pada fail konfigurasi Pelayan MySQL, anda perlu memulakan semula Pelayan MySQL untuk perubahan itu berkuat kuasa.Mencipta Pengguna Baharu dengan mysql_native_password:
Apabila mencipta pengguna baharu dengan pengesahan mysql_native_password, gunakan arahan berikut:CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan mysqli_connect Tidak Diketahui ([caching_sha2_password])'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!