Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat \'Pengambilan Kunci Awam tidak dibenarkan\' Semasa Menyambung ke Pangkalan Data MySQL Saya?
Dalam percubaan untuk menyambung ke pangkalan data MySQL dengan Java, anda mungkin menghadapi pengecualian: _Pendapatan Kunci Awam tidak dibenarkan_. Isu ini timbul disebabkan oleh langkah keselamatan yang dilaksanakan apabila menggunakan penyambung MySQL.
Untuk menangani isu ini, anda perlu mendayakan pengambilan kunci awam dengan menambahkan pilihan berikut pada rentetan sambungan MySQL anda:
allowPublicKeyRetrieval=true
Pilihan ini membolehkan pelanggan meminta kunci awam secara automatik daripada pelayan, menyelesaikan pengecualian "Pengambilan Kunci Awam tidak dibenarkan". Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa mendayakan pengambilan kunci awam berpotensi membenarkan proksi berniat jahat untuk mendapatkan semula kata laluan anda. Oleh itu, adalah disyorkan untuk menggunakan pilihan ini hanya untuk tujuan ujian atau pembangunan.
Termasuk pilihan allowPublicKeyRetrieval, rentetan sambungan anda akan kelihatan seperti ini:
jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useSSL=false
Selain itu, untuk tujuan ujian/pembangunan, anda juga boleh menetapkan useSSL=false untuk melumpuhkan penyulitan SSL.
<code class="java">import com.mysql.cj.jdbc.MysqlDataSource; ... MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUseSSL(false); ...</code>
Dengan melaksanakan pelarasan ini pada sambungan anda rentetan dan melumpuhkan SSL untuk ujian, anda boleh mengatasi pengecualian "Pengambilan Kunci Awam tidak dibenarkan" dan berjaya menyambung ke pangkalan data MySQL anda.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Pengambilan Kunci Awam tidak dibenarkan\' Semasa Menyambung ke Pangkalan Data MySQL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!