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