mysqli_connect Ralat: Kaedah Pengesahan Tidak Diketahui (caching_sha2_password)
Apabila cuba untuk mengesahkan dengan MySQL menggunakan mysqli_connect, anda mungkin menghadapi ralat:
mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
Ralat ini berlaku apabila MySQL Pemalam pengesahan lalai pelayan ditetapkan kepada caching_sha2_password, yang tidak serasi dengan konfigurasi akaun pengguna tertentu.
Penyelesaian masalah:
Untuk menyelesaikan isu ini, dua penyelesaian tersedia:
Ubah Pengesahan Pengguna Pemalam:
Jalankan arahan SQL berikut untuk menukar pemalam pengesahan untuk pengguna yang terjejas:
ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti nama pengguna dan nama hos dengan nilai yang sesuai untuk pengguna anda.
Ubah suai Pelayan MySQL Ini Fail:
Edit fail ini Pelayan MySQL (my.ini atau my.cnf) dan tukar tetapan default_authentication_plugin kepada mysql_native_password:
[mysqld] default_authentication_plugin=mysql_native_password
Mulakan semula Pelayan MySQL selepas membuat tukar.
Petua Tambahan:
Jika anda mencipta pengguna baharu, gunakan arahan berikut dengan pengesahan mysql_native_password :
CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
Dengan mengikuti langkah-langkah ini, anda boleh berjaya mengesahkan dengan MySQL menggunakan mysqli_connect walaupun apabila pemalam pengesahan caching_sha2_password didayakan.
Atas ialah kandungan terperinci Mengapa mysqli_connect Gagal dengan 'Kaedah Pengesahan Tidak Diketahui (caching_sha2_password)'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!