Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Tidak Boleh Menyambung ke MySQL 4.1 dengan Pengesahan Warisan?

Mengapa Saya Tidak Boleh Menyambung ke MySQL 4.1 dengan Pengesahan Warisan?

DDD
Lepaskan: 2024-11-05 05:48:02
asal
541 orang telah melayarinya

Why Can't I Connect to MySQL 4.1  with Legacy Authentication?

Tidak Dapat Mewujudkan Sambungan ke MySQL 4.1 dengan Pengesahan Legasi

Apabila cuba menyambung ke pangkalan data MySQL yang dihoskan di bluesql.net, anda boleh menghadapi ralat yang menunjukkan ketidakupayaan untuk mewujudkan sambungan menggunakan mekanisme pengesahan lapuk yang digunakan dalam versi MySQL sebelum ini kepada 4.1. Isu ini berpunca daripada pelaksanaan kaedah pengesahan yang lebih baharu dalam keluaran MySQL berikutnya, manakala skema kata laluan yang lebih lama mungkin masih berterusan, berpotensi menghalang keserasian dengan aplikasi tertentu.

Dalam kes anda, anda menggunakan PHP 5.3 dan sambungan mySQLi ( mysqli(...)) baru untuk menyambung ke pangkalan data. Untuk menangani isu ini tanpa perlu menurunkan versi PHP anda, anda harus mempertimbangkan langkah berikut:

Mengesahkan Penggunaan Skema Kata Laluan Lama

Tentukan sama ada pelayan MySQL yang anda cuba untuk mengakses dikonfigurasikan untuk menggunakan skema kata laluan lama dengan melaksanakan SQL berikut pertanyaan:

SHOW VARIABLES LIKE 'old_passwords'
Salin selepas log masuk

Jika hasil pertanyaan memaparkan "kata laluan_lama,Mati," ini menunjukkan bahawa pelayan dikonfigurasikan untuk menggunakan skema kata laluan lama.

Mengenal pasti Akaun dengan Kata Laluan Lama

Periksa jadual mysql.user untuk mengenal pasti akaun pengguna yang masih menggunakan lama kata laluan. Jalankan pertanyaan berikut:

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Salin selepas log masuk

Akaun dengan kata laluan lama akan mempunyai panjang kata laluan "16", manakala akaun dengan kata laluan baharu akan mempunyai panjang "41."

Menetapkan Kata Laluan Baharu untuk Akaun Terjejas

Untuk setiap akaun yang dikenal pasti dengan kata laluan lama, tetapkan kata laluan baharu menggunakan yang berikut arahan:

SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
Salin selepas log masuk

Ganti "Pengguna" dan "Hos" dengan nilai yang diperoleh daripada pertanyaan sebelumnya.

Mengesahkan Kemas Kini Kata Laluan

Semak semula panjang kata laluan untuk akaun yang dikemas kini. Ia kini sepatutnya memaparkan "41," yang menunjukkan bahawa skema kata laluan baharu sedang digunakan.

Dengan mematuhi langkah-langkah ini, anda boleh berjaya mengatasi isu keserasian pengesahan dan mewujudkan sambungan ke pangkalan data MySQL di bluesql.net .

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke MySQL 4.1 dengan Pengesahan Warisan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan