Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan Ralat 'mysqli_connect(): Kaedah Pengesahan Tidak Diketahui Pelanggan [caching_sha2_password]'?

Bagaimana untuk Membetulkan Ralat 'mysqli_connect(): Kaedah Pengesahan Tidak Diketahui Pelanggan [caching_sha2_password]'?

Barbara Streisand
Barbara Streisandasal
2024-12-29 13:41:15251semak imbas

How to Fix the

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:

  1. 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).
  2. 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';
  1. 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.
  2. Mulakan Semula Pelayan MySQL: Selepas membuat sebarang perubahan pada fail Pelayan MySQL ini, mulakan semula Pelayan MySQL untuk menggunakan tetapan baharu.
  3. 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