Rumah > Artikel > pangkalan data > Berikut ialah beberapa tajuk yang berpotensi, perlu diingat bahawa tajuk itu hendaklah dalam bentuk soalan: * **Ralat Sambungan MySQL: Mengapakah \"mysqlnd Tidak Dapat Menyambung\" Berlaku?** * **PHP dan MySQL: Bagaimana t
Ralat Sambungan MySQL: Menyelesaikan Isu "mysqlnd Cannot Connect"
Apabila cuba menyambung ke MySQL, anda mungkin menghadapi mesej ralat: " mysqlnd tidak boleh menyambung ke MySQL 4.1 menggunakan pengesahan lama yang tidak selamat." Ralat ini timbul disebabkan oleh ketidakpadanan antara kaedah pencincangan kata laluan yang digunakan oleh pelayan MySQL dan mekanisme pengesahan yang digunakan oleh pemacu PHP MySQL, mysqlnd.
Penyelesaian
Kepada menyelesaikan ralat ini, anda perlu mengemas kini kaedah pencincangan kata laluan MySQL kepada format baharu yang lebih selamat. Ini melibatkan pengubahsuaian fail konfigurasi MySQL (my.cnf) seperti berikut:
Tetapkan Kata Laluan Baharu untuk Pengguna Terjejas:
Sambung ke pangkalan data MySQL dan jalankan pertanyaan berikut untuk kenal pasti pengguna dengan kata laluan dalam format lama:
<code class="sql">SELECT user, Length(`Password`) FROM `mysql`.`user`;</code>
Untuk setiap pengguna yang terjejas, kemas kini kata laluan menggunakan fungsi PASSWORD():
<code class="sql">UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE user = 'affected_username';</code>
Keistimewaan Flush:
Selepas mengemas kini kata laluan, siram keistimewaan untuk mencerminkan perubahan:
<code class="sql">FLUSH PRIVILEGES;</code>
Nota:
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk yang berpotensi, perlu diingat bahawa tajuk itu hendaklah dalam bentuk soalan: * **Ralat Sambungan MySQL: Mengapakah \"mysqlnd Tidak Dapat Menyambung\" Berlaku?** * **PHP dan MySQL: Bagaimana t. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!