Erreur : incompatibilité du protocole d'authentification du client MySQL
Lors de la connexion à une base de données MySQL à l'aide de JDBC, vous pouvez rencontrer l'erreur « Le client ne prend pas en charge protocole d'authentification demandé par le serveur." Ce problème provient du fait que le serveur MySQL utilise un protocole d'authentification plus récent que celui pris en charge par votre client MySQL, en particulier MySQL Connector/J.
Solution
Pour résoudre ce problème , vous devez mettre à niveau votre MySQL Connector/J vers une version prenant en charge le nouveau mécanisme d'authentification caching_sha2_password introduit dans MySQL 8. La dernière version du pilote au moment de la rédaction est 8.0.15, qui inclut la prise en charge de cette méthode d'authentification.
Mise à jour de MySQL Connector/J
Utilisation de Maven :
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency>
Utilisation Gradle :
dependencies { compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.15' }
Remarque : Il est important de mettre à niveau vers une version de MySQL Connector/J compatible avec la version de votre serveur MySQL pour éviter de rencontrer des problèmes d'authentification.
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!