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
Lepaskan: 2024-12-29 13:41:15
asal
310 orang telah melayarinya

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';
Salin selepas log masuk
  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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan