Java:无法连接到mySql DB

时间:2016-09-12 16:05:08

标签: java mysql sql exception connection

我只是设置了一个本地mySql数据库。我可以通过命令行和第三方软件(Navicat ..)正确连接到它。

服务器:localhost:3306

用户:root

密码:password

数据库名称:students

但是,当我尝试连接java时,出现错误。

CODE:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}

输出:

SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001

也尝试过:

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");

conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306//students?autoReconnect=true&useSSL=false","root", "password");

其他尝试:

防火墙已被禁用。

我将.bin.jar放在:

中安装了Jconnector

C:\ Program Files \ Java \ jdk1.8.0_73 \ jre \ lib \ ext

我可以在Eclipse的JRE左侧看到它并且导入不会出错。

备注:

使用终端,工作台或Navicat中的mySQL不会出错,任何查询都可以正常运行,本地服务器正常运行且凭据正确,用户拥有完整的管理员权限。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

此异常可能有4个原因:

  1. 用户无权连接数据库。
  2. MySQL服务未运行。
  3. MySQL-Connector Jar不正确。
  4. 数据库网址不正确;。
  5. 在连接MySQL数据库之前检查上述先决条件。

答案 1 :(得分:0)

我最近有一个类似的问题。我的问题最终是MySQL服务器版本为8.0.19,而flyway使用的是Java MySQL库的5.1.40版本。

一旦我将MySQL库版本更新为8.0.19,我的错误就消失了。

相关问题