首页 > 解决方案 > 使用 Connector/J 连接到 MYSQL

问题描述

我已经安装了 MySQL Workbench 8.0,并试图通过连接器/J 版本 5.1.39 通过 Netbeans 连接到我的数据库。

这是一个在我的 Windows Surface 上运行良好的设置。我正在尝试在我的家用 PC 上复制设置,但遇到了问题。

编码:

String driver       = "jdbc:mysql:";
String hostAndPort  = "//localhost:3306/";
String database     = "bills";
String options      = "?autoReconnect=true&useSSL=false";

final String userName = "root";
final String password = "pass";

String url = driver + hostAndPort + database + options;

    try(Connection con = DriverManager.getConnection(url, userName, password);
        Statement st = con.createStatement())
    {

        // Do nothing so far

    } catch (SQLException ex) {
        System.out.println("SQLException:\t" + ex.getMessage());
        System.out.println("SQLState:\t"     + ex.getSQLState());
        System.out.println("VendorError:\t"  + ex.getErrorCode());
    }

当我尝试运行应用程序时,它会捕获异常并打印:

SQLException:   Could not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLState:       08001
VendorError:    0

值得一提的是,是的,数据库“账单”存在,用户和密码都正确。我可以使用它们进入 MySQL Workbench 并编辑账单数据库。

我尝试过的事情:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

同样,此设置在我的 Surface 上运行良好。我尝试了较新版本的 Connector/J,但遇到了与 MySQL Workbench v. 8 的兼容性问题,因此我决定使用 v. 5.1.39(Connector/J),因为它适用于我的 Surface。

唯一让我知道发生了什么的地方是,当我检查家用电脑上的端口活动并将其与我的表面进行比较时:

在尝试连接到数据库期间观察端口时,我得到以下信息:

在此处输入图像描述

为什么我的家用 PC 上没有建立端口连接?这是问题的根源吗?我该如何解决?

如果这不是问题的根源,那为什么我无法连接?

标签: javamysqlnetbeansconnector-j

解决方案


您的JDBC 驱动程序版本可能与您的MySQL 数据库服务器不兼容。在这种情况下,您可以尝试将驱动程序更新为您的数据库版本 Connector/J 版本 8.0+


推荐阅读