Sambung ke MySQL 4.1 dengan Pengesahan Lama Menggunakan MySQLi
Apabila cuba mewujudkan sambungan ke pangkalan data MySQL dengan MySQLi, anda mungkin menghadapi ralat berikut:
Connect Error (2000) mysqlnd cannot connect to MySQL 4.1+ using old authentication
Ralat ini timbul kerana penggunaan skema pencincangan kata laluan yang lapuk dalam versi MySQL sebelum 4.1. Walaupun versi yang lebih baharu membenarkan penggunaan kata laluan lama, ia boleh membawa kepada isu yang dinyatakan di atas.
Untuk menyelesaikan masalah ini, ikut langkah berikut:
Semak Tetapan Pelayan:
Laksanakan pertanyaan SQL TUNJUKKAN PEMBOLEH UBAH SEPERTI 'kata laluan_lama'; untuk menentukan sama ada pelayan lalai kepada skema kata laluan lama (old_passwords,Off).
Kenal pasti Akaun dengan Kata Laluan Lama:
Gunakan pertanyaan PILIH Pengguna`, `Hos`, Panjang(`Kata Laluan`) DARI mysql.user` untuk menyenaraikan akaun pengguna dan panjang kata laluannya. Akaun dengan panjang kata laluan 16 menggunakan skema lama, manakala panjang 41 menunjukkan kata laluan baharu.
Tukar Kata Laluan untuk Akaun Lama:
Kemas kini kata laluan akaun dengan kata laluan lama menggunakan penyata SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');. Ingat untuk menggantikan 'Pengguna' dan 'Hos' dengan nilai yang sesuai daripada pertanyaan anda.
Keistimewaan Flush:
Melaksanakan KEISTIMEWAAN FLUSH; untuk menggunakan perubahan.
Sahkan Panjang Kata Laluan:
Jalankan semula pertanyaan dari Langkah 2 untuk mengesahkan bahawa panjang kata laluan kini 41 .
Dengan melaksanakan langkah-langkah ini, anda sepatutnya berjaya menyambung ke pangkalan data MySQL menggunakan MySQLi, walaupun ia menggunakan skema kata laluan lama.
Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke MySQL 4.1 dengan Pengesahan Lama Menggunakan MySQLi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!