Berikut ialah beberapa pilihan untuk tajuk artikel, berdasarkan kandungan anda, diformatkan sebagai soalan: **Umum & Fokus pada Mesej Ralat:** * **Cara Membaiki \'mysqlnd tidak dapat menyambung ke MySQL 4.1 usin

Barbara Streisand
Lepaskan: 2024-10-25 05:28:29
asal
467 orang telah melayarinya

Here are a few options for an article title, based on your content, formatted as a question:

**General & Focus on Error Message:**

* **How to Fix

Membetulkan Ralat Sambungan MySQL Akibat Pengesahan Tidak Selamat

Apabila cuba mewujudkan sambungan pangkalan data, anda mungkin menghadapi ralat berikut:

Database connection failed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password').
Salin selepas log masuk

Isu ini berlaku disebabkan oleh ketidakpadanan antara versi PHP dan MySQL. MySQL telah mempertingkatkan langkah keselamatannya, memerlukan penggunaan kaedah pengesahan yang lebih selamat.

Penyelesaian:

  1. Kemas kini Konfigurasi Pelayan:

    • Pada pelayan pengehosan web anda (kuil media), berunding dengan hos anda untuk mengemas kini versi MySQL kepada 5.5.16 atau lebih baru (padan dengan versi pada mesin tempatan anda).
  2. Lumpuhkan Pengesahan Tidak Selamat:

    • Cari fail konfigurasi "my.cnf" (cth., "/etc/my.cnf" atau "/opt/lampp/etc/my.cnf").
    • Alih keluar atau ulas baris "old_passwords = 1".
  3. Mulakan semula MySQL:

    • Untuk menggunakan perubahan, mulakan semula perkhidmatan MySQL.
  4. Tetapkan Semula Kata Laluan:

    • Sambung ke pangkalan data MySQL menggunakan alat pentadbiran (cth., MySQL Workbench atau phpMyAdmin).
    • Jalankan pertanyaan "SELECT user, Length(Password) FROM mysql.user;" untuk mengenal pasti pengguna dengan kata laluan tidak selamat (cincang 16 aksara).
    • Kemas kini kata laluan untuk setiap pengguna dengan pengesahan tidak selamat menggunakan pertanyaan "KEMASKINI mysql.user SET Kata Laluan = PASSWORD('password') WHERE user = 'username ';".
  5. Keistimewaan Flush:

    • Laksanakan pertanyaan "FLUSH PRIVILEGES;" untuk menyebarkan perubahan kata laluan.

Pertimbangan Tambahan:

  • Jika anda menggunakan PHP 5.2 atau lebih awal pada sebelah pelayan, anda mungkin perlu mengalih keluar bendera "kata laluan lama" daripada fail "my.cnf" untuk membenarkan kaedah pengesahan lapuk.
  • Pastikan kata laluan pengguna root MySQL selamat, seperti yang dinyatakan dalam ralat mesej.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan untuk tajuk artikel, berdasarkan kandungan anda, diformatkan sebagai soalan: **Umum & Fokus pada Mesej Ralat:** * **Cara Membaiki \'mysqlnd tidak dapat menyambung ke MySQL 4.1 usin. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!