Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como corrigir o erro de conexão do banco de dados MySQL JDBC 08001


Quando você usa o driver MySQL JDBC para se conectar ao servidor de banco de dados MySQL. Você pode encontrar as mensagens de erro abaixo.
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());
}

Abaixo estão as mensagens de erro.
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 o código de estado SQL é 08001 . O motivo desse erro é que sua versão do arquivo jar do MySQL JDBC não corresponde à versão do servidor de banco de dados MySQL .

1. Obtenha o número da versão do servidor de banco de dados MySQL.

  1. Abra as Preferências do Sistema no macOS.
  2. Clique no ícone MySQL na janela pop-up.
  3. Então você pode obter a versão do servidor MySQL.

2. Faça o download do arquivo Jar da versão JDBC do servidor MySQL correspondente.

  1. Você pode baixar o arquivo jar do MySQL JDBC do repositório maven. Se a versão do seu servidor MySQL for 8.0.12, você deve baixar JDBC jars versão 8.0.12 ou 8.
  2. Se você usa maven e pom.xml para gerenciar os arquivos jar de dependência do projeto, você deve especificar a versão do arquivo jar JDBC no pom.xml conforme abaixo.
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.12</version>
    </dependency>