Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment réparer l'erreur de connexion à la base de données MySQL JDBC 08001

Lorsque vous utilisez le pilote MySQL JDBC pour vous connecter au serveur de base de données MySQL. Vous pouvez rencontrer les messages d'erreur ci-dessous.

try {
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/dev2qa?useSSL=false","test","666888");
} catch (SQLException ex) {
    ex.printStackTrace();
    System.out.println("SQL State : " + ex.getSQLState());
}

Vous trouverez ci-dessous les messages d'erreur.

INFO: Pre-instantiating singletons in [email protected]: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,userAccountDao]; root of factory hierarchy
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

Et le code d'état SQL est 08001 . La raison de cette erreur est que votre version de fichier JDBC MySQL ne correspond pas à la version du serveur de base de données MySQL .

1. Obtenez le numéro de version du serveur de base de données MySQL.

  1. Ouvrir Préférences système sous macOS.
  2. Cliquez sur l'icône MySQL dans la fenêtre contextuelle.
  3. Ensuite, vous pouvez obtenir la version du serveur MySQL.

2. Téléchargez le fichier Jar de la version JDBC du serveur MySQL correspondant.

  1. Vous pouvez télécharger le fichier jar MySQL JDBC à partir du référentiel maven. Si la version de votre serveur MySQL est 8.0.12, vous devez donc télécharger les jars JDBC version 8.0.12 ou 8.
  2. Si vous utilisez maven et pom.xml pour gérer les fichiers jar de dépendance de votre projet, vous devez spécifier la version du fichier jar JDBC dans le fichier pom.xml comme ci-dessous.
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.12</version>
    </dependency>