Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Apabila Menyambung ke MySQL 8.0 ?

Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Apabila Menyambung ke MySQL 8.0 ?

Barbara Streisand
Lepaskan: 2024-12-08 08:56:12
asal
351 orang telah melayarinya

Why Does My PHP Application Get

Ralat Kaedah Pengesahan dalam PHP dengan MySQL 8.0

Pengguna mungkin menghadapi ralat "Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien" apabila mencuba untuk mewujudkan sambungan antara PHP dan MySQL versi 8.0 .

Root Punca

Ralat ini biasanya berlaku disebabkan oleh ketidakpadanan antara pemalam pengesahan yang dikonfigurasikan dalam MySQL dan jangkaan aplikasi PHP. Dalam MySQL 8, pemalam pengesahan lalai ialah 'auth_socket,' yang menganggap bahawa aplikasi akan menggunakan sambungan soket UNIX tanpa pengesahan berasaskan kata laluan.

Resolusi

Kepada menyelesaikan isu ini, anda boleh mengubah pemalam pengesahan untuk pengguna tertentu atau keseluruhan pelayan MySQL. Begini cara untuk mengubah suainya untuk pengguna 'root':

  1. Log masuk ke MySQL sebagai pengguna 'root'.
  2. Laksanakan arahan SQL berikut:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
Salin selepas log masuk

Penjelasan

Arahan ini mengubah kaedah pengesahan untuk pengguna 'root' pada 'localhost' kepada 'mysql_native_password.' Gantikan 'kata laluan' dengan kata laluan yang anda inginkan. Selain itu, anda boleh menentukan pengguna atau hos yang disambungkan oleh aplikasi PHP anda jika ia berbeza daripada gabungan 'root'@'localhost'.

Maklumat Tambahan

Jika aplikasi anda menyambung ke pangkalan data menggunakan pengguna bukan root, ubah suai pengguna 'root' dalam arahan SQL dengan pengguna yang sesuai. Pastikan pengguna wujud dan mempunyai kebenaran yang diperlukan untuk mengakses pangkalan data.

Rujuk dokumentasi Lautan Digital tentang Memasang MySQL untuk butiran lanjut tentang mengkonfigurasi kaedah pengesahan.

Atas ialah kandungan terperinci Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Apabila Menyambung ke MySQL 8.0 ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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