Mengatasi "Connect Error (2000): mysqlnd cannot connect to MySQL 4.1 using old authentication" Halangan
Menyambung ke pangkalan data MySQL dengan skim pengesahan lama boleh mencetuskan "Ralat Sambung (2000)" ralat. Untuk menyelesaikan isu ini, pertimbangkan langkah berikut:
1. Menilai Skema Kata Laluan Pelayan
Jalankan pertanyaan SQL "TUNJUK PEMBOLEH UBAH SEPERTI 'kata laluan_lama'" untuk menentukan sama ada pelayan menggunakan skema kata laluan lama secara lalai. Jika ia mengembalikan "kata laluan_lama,Mati", anda mungkin mempunyai entri kata laluan lama dalam jadual pengguna.
2. Semak Panjang Kata Laluan dalam Jadual mysql.user
Periksa jadual "mysql.user" untuk menentukan rutin pengesahan yang akan digunakan untuk setiap akaun. Akaun dengan kata laluan lama mempunyai panjang kata laluan 16, manakala akaun dengan kata laluan baharu mempunyai panjang 41.
3. Kemas Kini Kata Laluan Lama
Jika akaun mempunyai kata laluan lama, kemas kini kata laluan mereka menggunakan pertanyaan "SET PASSWORD UNTUK 'User'@'Host'=PASSWORD('yourpassword');" diikuti dengan "FLUSH Privileges;." Semak panjang kata laluan sekali lagi; sepatutnya sekarang 41.
4. Sumber Tambahan
Rujuk dokumentasi MySQL berikut untuk maklumat lanjut maklumat:
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Sambungan MySQL (2000): mysqlnd Tidak Dapat Menyambung Menggunakan Pengesahan Lama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!