Rumah >pangkalan data >tutorial mysql >Mengapa MySQL 8.0 Memberi Saya Ralat 'Kaedah Pengesahan yang Diminta Pelayan Tidak Diketahui kepada Pelanggan' Semasa Menyambung dari PHP?
Isu Ketersambungan PHP dengan MySQL 8.0 : Membongkar Ralat "Kaedah Pengesahan yang Diminta Pelayan Tidak Diketahui Pelanggan"
Apabila menyambung ke pangkalan data MySQL daripada PHP, anda mungkin menghadapi ralat yang mengecewakan "Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien." Ralat ini biasanya berlaku apabila pelayan dan klien cuba untuk mengesahkan menggunakan kaedah yang berbeza.
Pemalam pengesahan lalai untuk MySQL 8 ialah auth_socket, yang tidak serasi dengan kebanyakan aplikasi PHP yang mengharapkan untuk log masuk menggunakan kata laluan. Untuk menyelesaikan isu ini, anda boleh mengubah suai pemalam pengesahan kepada mysql_native_password dengan melaksanakan perintah SQL berikut:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti 'kata laluan' dengan kata laluan akar MySQL anda atau kata laluan untuk pengguna yang digunakan oleh aplikasi PHP anda.
Sebaik sahaja anda membuat perubahan ini, aplikasi PHP anda sepatutnya dapat menyambung ke pangkalan data MySQL anda tanpa menemui "kaedah pengesahan tidak diketahui" ralat. Untuk mendapatkan maklumat lanjut tentang isu ini dan kemungkinan penyelesaian, anda boleh merujuk artikel Lautan Digital mengenai pemasangan dan konfigurasi MySQL.
Atas ialah kandungan terperinci Mengapa MySQL 8.0 Memberi Saya Ralat 'Kaedah Pengesahan yang Diminta Pelayan Tidak Diketahui kepada Pelanggan' Semasa Menyambung dari PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!