Rumah > pembangunan bahagian belakang > tutorial php > Ralat Pengesahan MySQLi: Mengapa Klien Saya Sebut 'Kaedah Tidak Diketahui'?

Ralat Pengesahan MySQLi: Mengapa Klien Saya Sebut 'Kaedah Tidak Diketahui'?

Barbara Streisand
Lepaskan: 2024-12-22 16:52:11
asal
294 orang telah melayarinya

MySQLi Authentication Error: Why Does My Client Say

Ralat Pengesahan MySQLi Connect: Kaedah Tidak Diketahui

Apabila cuba untuk mengesahkan pangkalan data MySQL dengan mysqli_connect, pengguna mungkin menghadapi mesej ralat "The pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien." Ralat ini berlaku apabila pemalam pengesahan lalai pelayan, yang ditetapkan dalam fail MySQL Server INI, tidak dikenali oleh klien.

Untuk memahami ralat ini, adalah penting untuk menyelidiki tetapan fail INI Pelayan MySQL yang berkaitan. Secara lalai, MySQL menggunakan pemalam caching_sha2_password untuk pengesahan. Walau bagaimanapun, sesetengah pelanggan mungkin tidak menyokong kaedah ini. Dalam kod yang disediakan, pemalam pengesahan lalai ditetapkan kepada caching_sha2_password.

Untuk menyelesaikan isu ini, pemalam pengesahan boleh ditukar kepada mysql_native_password. Kaedah pengesahan warisan ini serasi dengan pelanggan yang lebih lama. Dengan mengubah suai fail INI untuk menentukan default_authentication_plugin=mysql_native_password, pelayan akan membenarkan sambungan menggunakan kaedah mysql_native_password.

Walau bagaimanapun, jika matlamatnya adalah untuk menggunakan kaedah pengesahan caching_sha2_password, adalah penting untuk memastikan kaedah ini pelanggan . Sebagai alternatif, pengguna boleh mengubah suai pangkalan data MySQL untuk membenarkan sambungan menggunakan mysql_native_password untuk pengguna tertentu. Ini boleh dicapai menggunakan arahan SQL berikut:

ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
Salin selepas log masuk

Dengan menggantikan 'mysqlUsername' dan 'mysqlUsernamePassword' dengan nilai yang sesuai, pengguna sedia ada boleh diubah suai untuk menggunakan kaedah pengesahan mysql_native_password. Sebagai alternatif, pengguna baharu boleh dibuat dengan pernyataan CREATE USER dan klausa IDENTIFIED WITH mysql_native_password.

Ringkasnya, ralat "kaedah pengesahan yang tidak diketahui oleh klien" boleh diselesaikan dengan sama ada menukar kepada pemalam pengesahan mysql_native_password atau dengan mengubah suai pangkalan data untuk membenarkan sambungan menggunakan kaedah warisan ini untuk pengguna tertentu. Pendekatan khusus bergantung pada pelanggan dan keperluan keselamatan sistem pangkalan data.

Atas ialah kandungan terperinci Ralat Pengesahan MySQLi: Mengapa Klien Saya Sebut 'Kaedah Tidak Diketahui'?. 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