Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui' Semasa Menyambung ke MySQL Dari Jauh?

Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui' Semasa Menyambung ke MySQL Dari Jauh?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-07 03:52:03527semak imbas

Why Am I Getting the

Menyelesaikan Masalah Kegagalan Sambungan MySQL Jauh dengan Ralat "Kaedah Pengesahan Tidak Diketahui"

Penerangan Masalah:

Apabila cuba mewujudkan sambungan jauh ke pelayan MySQL daripada mesin tempatan, ralat ditemui:

The server requested authentication method unknown to the client [mysql_old_password]

Ralat ini menunjukkan ketidakserasian antara kaedah pengesahan pelayan MySQL tempatan dan jauh.

Potensi Penyelesaian:

Dengan mengandaikan PHP 5.3 sedang digunakan, isu ini mungkin berpunca daripada perubahan dalam kaedah pengesahan MySQL.

Punca:

MySQL 4.1 memperkenalkan format kata laluan 41-bait yang lebih baharu. Pustaka mysqlnd yang digunakan untuk menyambung ke MySQL memerlukan format baharu ini. Percubaan untuk menyambung dengan format kata laluan 16-bait lama akan menyebabkan ralat "kaedah pengesahan tidak diketahui".

Penyelesaian:

Untuk menyelesaikan isu ini, kata laluan pada pelayan MySQL jauh mesti dikemas kini kepada format 41-bait. Benang Stack Overflow berikut memberikan panduan tentang cara melakukan ini: https://stackoverflow.com/a/1340538/187954.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui' Semasa Menyambung ke MySQL Dari Jauh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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