Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Mendapat Ralat \"Pengambilan Kunci Awam tidak dibenarkan\" Semasa Menyambung ke Pangkalan Data MySQL Saya?

Mengapa Saya Mendapat Ralat \"Pengambilan Kunci Awam tidak dibenarkan\" Semasa Menyambung ke Pangkalan Data MySQL Saya?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 05:52:01508semak imbas

Why Am I Getting a

Isu Pengambilan Kunci Awam dalam Sambungan MySQL-Java

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.

Contoh Rentetan Sambungan

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.

Lumpuhkan SSL untuk Pengujian

<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!

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