首页  >  文章  >  数据库  >  为什么我收到'com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建与数据库服务器的连接”错误?

为什么我收到'com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建与数据库服务器的连接”错误?

Barbara Streisand
Barbara Streisand原创
2024-11-20 19:12:27596浏览

Why am I Getting

“com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 无法创建与数据库服务器的连接”故障排除

此错误消息表示与 MySQL 数据库服务器建立连接的问题。您提供的 Java 代码使用了过时版本的 MySQL Connector/J,可能与 MySQL 8.0 不兼容。

要解决此问题,请升级到 MySQL Connector/J 5.1.46 或 8.0.11(或较新的版本)。修改后的代码如下:

import com.mysql.cj.jdbc.Driver;

public class Main {
    public static void main(String[] args) {
        try {
            Driver sqlDriver = new Driver();
            DriverManager.registerDriver(sqlDriver);
            Connection sqlConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/?user=root", "root", "root");
            System.out.println("Connection established successfully");
            sqlConnection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

此问题的原因

  • 兼容性问题:旧版本的 MySQL Connector/J 可能不完全支持较新版本的 MySQL 服务器,导致连接问题。
  • 配置不正确:检查您的 MySQL 服务器是否在指定端口(代码中为 3306)上运行,并且您是否在为数据库连接提供正确的凭据。
  • 防火墙或网络问题:确保您的防火墙没有阻止连接,并且您的网络允许连接到 MySQL 服务器。

其他提示

  • 验证 MySQL 服务器版本:运行 SHOW VARIABLES LIKE 'version';在 MySQL 命令行中确认您的 MySQL 服务器版本。
  • 检查 MySQL Connector/J 兼容性:访问 MySQL 网站以确定与您的 MySQL 服务器兼容的 Connector/J 版本。
  • 在堆栈跟踪中查找错误:堆栈跟踪通常提供有关连接失败的根本原因的更多详细信息。检查可能指示特定问题的特定错误或消息。

以上是为什么我收到'com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建与数据库服务器的连接”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn