Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Membetulkan Ralat \'mysqlnd tidak dapat menyambung ke MySQL 4.1 menggunakan pengesahan lama\'?

Bagaimana untuk Membetulkan Ralat \'mysqlnd tidak dapat menyambung ke MySQL 4.1 menggunakan pengesahan lama\'?

Patricia Arquette
Lepaskan: 2024-11-04 06:25:02
asal
932 orang telah melayarinya

How to Fix

Ralat Ketersambungan MySQL dengan Pengesahan Lama

Menemui mesej ralat "mysqlnd tidak boleh menyambung ke MySQL 4.1 menggunakan pengesahan lama" menandakan isu keserasian apabila cuba menyambung ke pangkalan data MySQL yang menggunakan skema kata laluan yang sudah lapuk. Untuk menyelesaikan masalah ini, adalah penting untuk menentukan sama ada pelayan pangkalan data dikonfigurasikan untuk menggunakan skema kata laluan lama.

Menyemak Konfigurasi Pelayan

Laksanakan pertanyaan SQL berikut:

<code class="sql">SHOW VARIABLES LIKE 'old_passwords'</code>
Salin selepas log masuk

Memahami Keputusan

  • Jika hasilnya old_passwords,Mati, pelayan dikonfigurasikan untuk menggunakan rutin pengesahan baharu. Kata laluan pengguna mungkin disimpan dalam format lama, tetapi pelayan akan menggunakan rutin baharu untuk pengesahan.
  • Jika hasilnya old_passwords,Hidup, pelayan dikonfigurasikan untuk menggunakan rutin pengesahan lama secara lalai. Dalam kes ini, skema kata laluan lama digunakan untuk pengesahan.

Penyelesaian Masalah dan Penyelesaian

Untuk menyelesaikan isu, ikut langkah berikut:

  1. Semak Format Kata Laluan Pengguna: Sahkan panjang kata laluan pengguna dalam jadual mysql.user. Panjang 16 aksara menunjukkan kata laluan lama, manakala panjang 41 aksara menandakan kata laluan baharu.
  2. Tetapkan Kata Laluan Baharu (jika perlu): Jika kata laluan pengguna berada dalam kata laluan lama format, tetapkan kata laluan baharu menggunakan arahan berikut:
<code class="sql">SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');</code>
Salin selepas log masuk
  1. Keistimewaan Flush: Kemas kini keistimewaan pangkalan data dengan melaksanakan:
<code class="sql">FLUSH Privileges;</code>
Salin selepas log masuk
  1. Sahkan Semula Panjang Kata Laluan: Semak panjang kata laluan pengguna sekali lagi dalam jadual mysql.user. Ia kini sepatutnya menjadi 41 aksara, menunjukkan bahawa format kata laluan baharu sedang digunakan.
  2. Buat Semula Sambungan: Selepas melengkapkan langkah ini, cuba sambung semula ke pangkalan data dengan pelanggan anda (cth., mysqlnd) . Sambungan sepatutnya berjaya.

Sumber Tambahan

Untuk maklumat lanjut, rujuk dokumentasi MySQL berikut:

  • http: //dev.mysql.com/doc/refman/5.0/en/old-client.html
  • http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html
  • http://dev.mysql.com/doc/refman/5.0/ms/set-password.html

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'mysqlnd tidak dapat menyambung ke MySQL 4.1 menggunakan pengesahan lama\'?. 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