Mysql
 sql >> Database >  >> RDS >> Mysql

Come correggere l'errore di connessione al database MySQL JDBC 08001

Quando si utilizza il driver MySQL JDBC per connettersi al server di database MySQL. Potresti incontrare i seguenti messaggi di errore.

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());
}

Di seguito sono riportati i messaggi di errore.

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.

E il codice di stato SQL è 08001 . Il motivo di questo errore è che la tua versione del file jar JDBC MySQL non corrisponde alla versione del server del database MySQL .

1. Ottieni il numero di versione del server di database MySQL.

  1. Apri Preferenze di Sistema in macOS.
  2. Fai clic sull'icona MySQL nella finestra popup.
  3. Poi puoi ottenere la versione del server MySQL.

2. Scarica il file jar della versione JDBC di MySQL Server corrispondente.

  1. Puoi scaricare il file jar JDBC di MySQL dal repository Maven. Se la versione del tuo server MySQL è 8.0.12, dovresti scaricare JDBC jars versione 8.0.12 o 8.
  2. Se usi Maven e pom.xml per gestire i file jar delle dipendenze del progetto, devi specificare la versione del file jar JDBC in pom.xml come di seguito.
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.12</version>
    </dependency>