Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memperbaiki 'Pelayan meminta kaedah pengesahan yang tidak diketahui oleh pelanggan' Ralat dalam PHP MySQL 8.0 ?

Bagaimana untuk Memperbaiki 'Pelayan meminta kaedah pengesahan yang tidak diketahui oleh pelanggan' Ralat dalam PHP MySQL 8.0 ?

Susan Sarandon
Susan Sarandonasal
2024-12-06 11:40:14734semak imbas

How to Fix

Menyelesaikan Ralat Pengesahan dalam PHP dengan MySQL 8.0

Apabila cuba menyambung ke pangkalan data MySQL daripada PHP, anda mungkin menghadapi ralat: "Pelayan meminta kaedah pengesahan tidak diketahui kepada klien." Isu ini berpunca daripada pemalam pengesahan yang digunakan oleh MySQL.

Secara lalai, MySQL 8 menggunakan pemalam auth_socket, yang tidak serasi dengan aplikasi yang mengharapkan log masuk berasaskan kata laluan. Untuk membetulkannya, ikuti langkah berikut:

  1. Log masuk ke pelayan MySQL sebagai pengguna akar.
  2. Laksanakan arahan SQL berikut:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';

Ganti 'kata laluan' dengan kata laluan yang dikehendaki untuk pengguna root. Jika aplikasi anda tidak menggunakan pengguna root, gantikan 'root' dengan nama pengguna yang berkaitan.

Setelah perubahan ini dilaksanakan, aplikasi seharusnya dapat menyambung ke pangkalan data MySQL menggunakan kata laluan. Untuk butiran lanjut, rujuk dokumentasi Lautan Digital: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04.

Atas ialah kandungan terperinci Bagaimana untuk Memperbaiki 'Pelayan meminta kaedah pengesahan yang tidak diketahui oleh pelanggan' Ralat dalam PHP MySQL 8.0 ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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