Selesaikan Ralat: "mysqli_connect: Kaedah Pengesahan Tidak Diketahui Pelanggan [caching_sha2_password]
Apabila menggunakan fungsi mysqli_connect PHP untuk mewujudkan sambungan ke Pangkalan data MySQL, anda mungkin menghadapi ralat "mysqli_connect(): Pelayan diminta kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]". Ini biasanya berlaku apabila pelayan dikonfigurasikan untuk menggunakan kaedah pengesahan caching_sha2_password, manakala klien tidak menyokong kaedah ini.
Penyelesaian Masalah dan Penyelesaian:
Untuk menyelesaikan isu ini dan mewujudkan sambungan yang berjaya, anda boleh mengikuti ini langkah:
-
Sahkan Konfigurasi Pelayan MySQL: Pastikan pelayan MySQL dikonfigurasikan untuk menggunakan kaedah pengesahan yang betul secara lalai, ia ditetapkan kepada caching_sha2_password. Anda boleh menyemak ini dengan memeriksa parameter default_authentication_plugin dalam fail MySQL Server ini (my.ini or my.cnf).
-
Kemas kini Bukti Kelayakan Pengguna MySQL: Jika pelayan MySQL dikonfigurasikan untuk menggunakan caching_sha2_password, anda mesti mengemas kini kata laluan untuk pengguna yang terjejas agar sepadan dengan kaedah caching_sha2_password. Ini boleh dicapai menggunakan arahan SQL berikut:
ALTER USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'new_password';
-
Ubah suai Pemalam Pengesahan Pelayan MySQL: Jika mengemas kini bukti kelayakan pengguna tidak menyelesaikan isu, anda boleh mengubah suai pemalam pengesahan yang digunakan oleh pelayan MySQL. Dalam fail Pelayan MySQL ini, tetapkan parameter default_authentication_plugin kepada mysql_native_password, yang disokong oleh klien.
-
Mulakan Semula Pelayan MySQL: Selepas membuat sebarang perubahan pada fail Pelayan MySQL ini, mulakan semula Pelayan MySQL untuk menggunakan tetapan baharu.
-
Kemas kini Pelanggan PHP Konfigurasi: Pastikan klien PHP anda juga dikonfigurasikan untuk menggunakan pengesahan mysql_native_password. Ini boleh dilakukan dengan menetapkan parameter mysqli.default_auth dalam fail konfigurasi PHP anda (php.ini) kepada mysql_native_password.
Dengan melaksanakan langkah-langkah ini, anda seharusnya dapat mewujudkan sambungan yang berjaya ke MySQL pangkalan data menggunakan fungsi mysqli_connect, menyelesaikan "kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]" ralat.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'mysqli_connect(): Kaedah Pengesahan Tidak Diketahui Pelanggan [caching_sha2_password]'?. 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