【问题标题】:How to fix SQLNonTransientConnectionException in JDBC如何修复 JDBC 中的 SQLNonTransientConnectionException
【发布时间】:2020-01-27 16:41:55
【问题描述】:

我正在尝试通过 Wamp 将我的 java 程序连接到 MySql 数据库,但我得到的只是过多的 SQL 异常。

我已经尝试了 Stackoverflow 上几乎所有可用的问题或疑问或答案,但没有一个答案能解决我的问题....

也许我的问题会被标记为重复,但我不知道为什么其他答案中提到的解决方案对我不起作用,尽管获得了数百个赞成票。

这是我的代码

import java.sql.*;

public class SQLTest{
    private static Connection connect = null;
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("Trying to Establish Database Connection.....");
            //connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys?user=root&password=root&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true");
            connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys", "root", "root");
            System.out.println("Connection Established.");
        } catch (SQLException se) {
            System.out.println("connection problem");
            se.printStackTrace();
        } catch (Exception e){
            System.out.println("Some Other Problem.");
            e.printStackTrace();
        }
    }
}

这是我得到的回报

【问题讨论】:

  • 在您的问题中包含整个堆栈跟踪。单独的异常名称是毫无用处的。
  • 您的 MySQL 服务器可能没有监听端口 8080。这可能是 Apache(Web 服务器)正在监听的端口。请尝试连接到端口 3306。
  • @GordThompson 非常感谢它的工作。 httpd.conf 文件中的默认端口设置为 8080。我不知道 3306 的工作原理。虽然不需要,但如果有人能解释为什么这样工作那就太好了。
  • 如果你问为什么是 3306,答案是它只是约定俗成的。 MySQL 通过端口 3306,Postgre 是 5432,等等。要解释为什么切换端口可以解决您的问题,请将数据视为发送到错误地址的邮件。您修改了地址,并且您的信件现在正在发送到正确的目的地:)

标签: java mysql jdbc database-connection


【解决方案1】:

httpd.conf 文件中的默认端口设置为 8080。我不知道 3306 的工作原理。

WAMP 堆栈由四个组件组成:Windows、Apache、MySQL 和 PHP。

Apache 是接收 HTTP 请求并返回网页的服务器软件。 httpd.conf 是它的配置文件。 Apache 的默认端口是 80,但 WAMP 堆栈通常使用不同的端口,例如 8080 用于开发目的。

MySQL 是接收 SQL 查询并从这些查询返回结果的组件。它侦听与 Apache 不同的端口。 MySQL 的配置文件是my.ini。 MySQL 的默认端口是 3306。

【讨论】:

    猜你喜欢
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2020-01-11
    • 2015-10-27
    • 2019-08-24
    • 1970-01-01
    相关资源
    最近更新 更多