Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat 'Tidak dapat menyambung ke MySQL 4.1 menggunakan pengesahan lama' dalam PHP?

Bagaimana untuk Membetulkan Ralat 'Tidak dapat menyambung ke MySQL 4.1 menggunakan pengesahan lama' dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-04 01:32:11
asal
331 orang telah melayarinya

How to Fix the

Menyambung ke MySQL 4.1 : Menyelesaikan masalah "Tidak boleh menyambung ke MySQL 4.1 menggunakan pengesahan lama" Ralat

Apabila cuba mewujudkan sambungan ke MySQL pangkalan data menggunakan MySQLi dalam PHP 5.3, anda mungkin menghadapi mesej ralat "Connect Error (2000) mysqlnd tidak boleh menyambung ke MySQL 4.1 menggunakan pengesahan lama." Ralat ini biasanya timbul apabila pelayan MySQL dikonfigurasikan untuk menggunakan skema kata laluan lapuk yang tidak lagi serasi dengan versi MySQL yang lebih baharu.

Untuk menyelesaikan isu ini, terdapat beberapa langkah yang boleh diambil:

  1. Sahkan MySQL Konfigurasi:

    • Jalankan pertanyaan SQL Tunjukkan PEMBOLEH UBAH SEPERTI 'old_passwords' untuk menentukan sama ada pelayan menggunakan skema kata laluan lama. Jika hasilnya adalah old_passwords,Mati, ini menunjukkan bahawa pelayan tidak menggunakan skema lama dan ralat mungkin berkaitan dengan akaun pengguna tertentu.
  2. Semak Kata Laluan Pengguna:

    • Gunakan pertanyaan PILIH *Pengguna*', Hos', Panjang(Kata Laluan) DARI mysql.user untuk memeriksa jadual mysql.user`.
    • Akaun yang menggunakan kata laluan lama akan mempunyai panjang kata laluan 16, manakala akaun yang menggunakan kata laluan baharu akan mempunyai panjang 41.
  3. Tetapkan Semula Pengguna Kata laluan:

    • Jika kata laluan lama dikesan, tetapkan semula kata laluan untuk akaun yang terjejas menggunakan pertanyaan berikut:

      • TETAPKAN KATA LALUAN UNTUK 'Pengguna' @'Host'=PASSWORD('yourpassword');
      • Ganti Pengguna dan Hos dengan nilai diperoleh daripada pertanyaan sebelumnya.
  4. Keistimewaan Flush:

    • Laksanakan pertanyaan FLUSH Privileges ; untuk memastikan bahawa perubahan kepada kata laluan pengguna berkuat kuasa.
  5. Semak Semula Panjang Kata Laluan:

    • Jalankan pertanyaan yang sama ( PILIH *Pengguna*', Hos', Panjang(Kata Laluan) DARI mysql.user`) sekali lagi untuk mengesahkan bahawa panjang kata laluan untuk akaun yang terjejas kini 41.
  6. Sambung dengan MySQLi:

    • Setelah kata laluan pengguna telah dikemas kini ke gunakan skema baharu, cuba sambung ke pangkalan data menggunakan MySQLi.

Dengan mengikuti langkah ini, anda boleh menyelesaikan masalah ralat "Tidak boleh menyambung ke MySQL 4.1 menggunakan pengesahan lama" dan mewujudkan sambungan yang berjaya ke pangkalan data MySQL anda. Rujuk dokumentasi MySQL untuk mendapatkan butiran tambahan tentang kaedah pencincangan kata laluan lama dan baharu, pengurusan kata laluan dan konfigurasi pelayan.

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