Maison  >  Article  >  base de données  >  Pourquoi est-ce que je reçois une erreur « La récupération de clé publique n'est pas autorisée » lors de la connexion à ma base de données MySQL ?

Pourquoi est-ce que je reçois une erreur « La récupération de clé publique n'est pas autorisée » lors de la connexion à ma base de données MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 05:52:01505parcourir

Why Am I Getting a

Problème de récupération de clé publique dans la connexion MySQL-Java

Lors d'une tentative de connexion à une base de données MySQL avec Java, vous pouvez rencontrer une exception : _La récupération de clé publique n'est pas autorisé_. Ce problème est dû à une mesure de sécurité mise en œuvre lors de l'utilisation du connecteur MySQL.

Pour résoudre ce problème, vous devez activer la récupération de clé publique en ajoutant l'option suivante à votre chaîne de connexion MySQL :

allowPublicKeyRetrieval=true

Cette option permet au client de demander automatiquement la clé publique au serveur, résolvant ainsi l'exception « La récupération de la clé publique n'est pas autorisée ». Cependant, il est important de noter que l'activation de la récupération de clé publique pourrait potentiellement permettre à un proxy malveillant de récupérer votre mot de passe. Par conséquent, il est recommandé d'utiliser cette option uniquement à des fins de test ou de développement.

Exemple de chaîne de connexion

En incluant l'option allowPublicKeyRetrieval, votre chaîne de connexion ressemblerait à ceci :

jdbc:mysql://localhost:3306/db?allowPublicKeyRetrieval=true&useSSL=false

De plus, à des fins de test/développement, vous pouvez également définir useSSL=false pour désactiver le cryptage SSL.

Désactivez SSL pour les tests

<code class="java">import com.mysql.cj.jdbc.MysqlDataSource;
...

MysqlDataSource dataSource = new MysqlDataSource();

dataSource.setUseSSL(false);
...</code>

En mettant en œuvre ces ajustements sur votre connexion chaîne et en désactivant SSL pour les tests, vous pouvez surmonter l'exception « La récupération de clé publique n'est pas autorisée » et vous connecter avec succès à votre base de données MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn