Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Padan' Semasa Menyambungkan PHP ke MySQL 8.0 ?

Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Padan' Semasa Menyambungkan PHP ke MySQL 8.0 ?

Susan Sarandon
Lepaskan: 2024-12-05 10:58:09
asal
556 orang telah melayarinya

Why Am I Getting a

Ralat PHP dengan MySQL 8.0: Tidak Padan Kaedah Pengesahan

Apabila menyambung ke pangkalan data MySQL daripada PHP, pengguna mungkin menghadapi ralat "SQLSTATE[HY000] [2054] pelayan meminta kaedah pengesahan yang tidak diketahui oleh klien." Isu ini timbul disebabkan oleh ketidakpadanan antara kaedah pengesahan yang digunakan oleh MySQL dan kaedah yang dijangkakan oleh aplikasi klien.

Punca:

MySQL 8.0 memperkenalkan pemalam pengesahan lalai dipanggil caching_sha2_password, yang tidak disokong secara asli oleh versi PHP lama atau beberapa aplikasi klien. Secara lalai, aplikasi mengharapkan untuk mengesahkan menggunakan kaedah berasaskan kata laluan, manakala MySQL 8.0 memerlukan penggunaan pemalam caching_sha2_password.

Penyelesaian:

Untuk menyelesaikan ralat, anda perlu mengubah suai kaedah pengesahan yang digunakan oleh MySQL untuk memadankan kaedah yang diharapkan oleh aplikasi anda. Ikuti langkah berikut:

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

Ganti 'kata laluan' dengan akar kata laluan.

  1. Jika aplikasi anda menggunakan pengguna lain untuk menyambung ke pangkalan data, gantikan 'root' dalam arahan di atas dengan pengguna yang sesuai.
  2. Mulakan semula perkhidmatan MySQL untuk perubahan untuk berkuat kuasa.

Tambahan Nota:

  • Pastikan versi PHP anda menyokong kaedah caching_sha2_password. Jika tidak, kemas kini PHP kepada versi yang serasi.
  • Rujuk dokumentasi MySQL untuk mendapatkan maklumat lanjut tentang kaedah pengesahan dan pemalam.
  • Jika isu berterusan selepas menukar kaedah pengesahan, pastikan pengguna mempunyai kebenaran yang diperlukan untuk mengakses pangkalan data.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Padan' Semasa Menyambungkan PHP 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