Beim Versuch, eine Verbindung zu einer MySQL-Datenbank mit Java herzustellen, kann es zu einer Ausnahme kommen: _Das Abrufen des öffentlichen Schlüssels ist nicht möglich erlaubt_. Dieses Problem entsteht aufgrund einer Sicherheitsmaßnahme, die bei der Verwendung des MySQL-Connectors implementiert wird.
Um dieses Problem zu beheben, müssen Sie den Abruf öffentlicher Schlüssel aktivieren, indem Sie die folgende Option zu Ihrer MySQL-Verbindungszeichenfolge hinzufügen:
allowPublicKeyRetrieval=true
Mit dieser Option kann der Client automatisch den öffentlichen Schlüssel vom Server anfordern und so die Ausnahme „Abruf des öffentlichen Schlüssels ist nicht zulässig“ auflösen. Beachten Sie jedoch, dass die Aktivierung des öffentlichen Schlüsselabrufs möglicherweise dazu führen kann, dass ein böswilliger Proxy Ihr Passwort abruft. Daher wird empfohlen, diese Option nur zu Test- oder Entwicklungszwecken zu verwenden.
Einschließlich der Option „allowPublicKeyRetrieval“ würde Ihre Verbindungszeichenfolge etwa so aussehen:
jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useSSL=false
Zu Test-/Entwicklungszwecken können Sie außerdem useSSL=false festlegen, um die SSL-Verschlüsselung zu deaktivieren.
<code class="java">import com.mysql.cj.jdbc.MysqlDataSource; ... MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUseSSL(false); ...</code>
Indem Sie diese Anpassungen an Ihrer Verbindung vornehmen string und das Deaktivieren von SSL zum Testen können Sie die Ausnahme „Public Key Retrieval ist nicht zulässig“ umgehen und erfolgreich eine Verbindung zu Ihrer MySQL-Datenbank herstellen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Herstellen einer Verbindung zu meiner MySQL-Datenbank die Fehlermeldung „Der Abruf des öffentlichen Schlüssels ist nicht zulässig'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!