Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan mysqli_connect Tidak Diketahui ([caching_sha2_password])'?

Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan mysqli_connect Tidak Diketahui ([caching_sha2_password])'?

Mary-Kate Olsen
Lepaskan: 2024-12-17 11:02:26
asal
243 orang telah melayarinya

Why Am I Getting a

Ralat Pengesahan Selesai: mysqli_connect Kaedah Pengesahan Tidak Diketahui ([caching_sha2_password])

Apabila menyambung ke pangkalan data MySQL menggunakan mysqli_connect PHP, anda mungkin menghadapi ralat berikut: "Pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien [caching_sha2_password]". Isu ini timbul apabila Pelayan MySQL dikonfigurasikan untuk menggunakan kaedah pengesahan caching_sha2_password, yang tidak disokong secara asli oleh akaun pengguna tertentu atau mungkin memerlukan konfigurasi tambahan.

Punca Ralat:

Kaedah pengesahan caching_sha2_password ialah kaedah selamat yang digunakan oleh Pelayan MySQL untuk penyimpanan kata laluan dan pengesahan. Ia menggantikan kaedah mysql_native_password yang lebih lama dan meningkatkan keselamatan dengan menyimpan kata laluan dalam bentuk cincang. Secara lalai, caching_sha2_password menjadi kaedah pengesahan lalai apabila syarat tertentu dipenuhi.

Menyelesaikan Isu:

Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:

  1. Tukar Akaun Pengguna kepada mysql_native_password:
  • Jalankan arahan SQL berikut untuk menukar akaun pengguna untuk menggunakan kaedah pengesahan mysql_native_password:
ALTER USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
Salin selepas log masuk
  1. Ubah suai Pelayan MySQL Konfigurasi:
  • Buka fail konfigurasi Pelayan MySQL (biasanya dinamakan my.cnf) dan navigasi ke bahagian [mysqld].
  • Tukar nilai Tetapan "default_authentication_plugin" daripada caching_sha2_password kepada mysql_native_password:
[mysqld]
default_authentication_plugin=mysql_native_password
Salin selepas log masuk

Nota:

Selepas membuat perubahan pada fail konfigurasi Pelayan MySQL, anda perlu memulakan semula Pelayan MySQL untuk perubahan itu berkuat kuasa.

Mencipta Pengguna Baharu dengan mysql_native_password:

Apabila mencipta pengguna baharu dengan pengesahan mysql_native_password, gunakan arahan berikut:
CREATE USER '<mysqlUsername>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<mysqlUsernamePassword>';
Salin selepas log masuk

Pertimbangan Tambahan:

  • Pastikan bahawa pengguna yang anda gunakan untuk menyambung ke pangkalan data mempunyai kebenaran yang sesuai.
  • Semak log ralat Pelayan MySQL untuk sebarang mesej ralat tambahan yang mungkin memberikan lebih banyak konteks.
  • Pertimbangkan untuk mengemas kini algoritma pencincangan kata laluan pada Pelayan MySQL untuk meningkatkan keselamatan lagi.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan mysqli_connect Tidak Diketahui ([caching_sha2_password])'?. 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