Ralat: Klien Tidak Menyokong Protokol Pengesahan
Apabila menyambung ke pangkalan data menggunakan JDBC, anda mungkin menghadapi ralat "Ralat: Klien lakukan tidak menyokong protokol pengesahan yang diminta oleh pelayan; pertimbangkan untuk menaik taraf klien MySQL". Ralat ini menunjukkan bahawa klien MySQL anda tidak serasi dengan protokol pengesahan yang diperlukan oleh pelayan.
Untuk menyelesaikan isu ini, pertimbangkan langkah berikut:
-
Semak Pelanggan MySQL Versi: Mesej ralat mencadangkan bahawa menaik taraf klien MySQL anda boleh menyelesaikan masalah. Sahkan bahawa anda menggunakan versi MySQL Connector/J yang disokong. Versi sebelum 5.1.46 mungkin tidak menyokong mekanisme pengesahan caching_sha2_password yang lebih baharu yang digunakan oleh MySQL 8.
-
Tingkatkan MySQL Connector/J: Jika versi klien MySQL anda sudah lapuk, muat turun dan pasang yang terkini versi dari dev.mysql.com/downloads/connector/j/. Sebagai alternatif, anda boleh mengemas kini kebergantungan dalam konfigurasi binaan projek anda, seperti Maven atau Gradle, untuk menggunakan versi terkini.
-
Nyatakan Mekanisme Pengesahan: Jika menaik taraf klien tidak dapat dilaksanakan, anda boleh menentukan secara manual mekanisme pengesahan untuk digunakan. Dalam URL sambungan JDBC, tambahkan parameter authenticationPlugin=mysql_native_password untuk memaksa penggunaan kaedah pengesahan yang lebih lama. Walau bagaimanapun, adalah disyorkan untuk menggunakan mekanisme caching_sha2_password yang disokong untuk keselamatan yang dipertingkatkan.
-
Semak Keistimewaan Pengguna: Jika anda telah mengubah suai kebenaran pengguna baru-baru ini, pastikan pengguna yang anda sambungkan mempunyai keperluan yang diperlukan keistimewaan untuk mengakses pangkalan data. Sahkan ini menggunakan klien baris arahan MySQL atau melalui antara muka sistem pengurusan pangkalan data.
Dengan mengikuti langkah ini, anda boleh menyelesaikan ralat "Pelanggan tidak menyokong protokol pengesahan" dan berjaya mewujudkan sambungan JDBC ke pangkalan data MySQL anda.
Atas ialah kandungan terperinci Mengapa Sambungan JDBC Saya Gagal dengan 'Ralat: Pelanggan Tidak Menyokong Protokol Pengesahan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!