You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SSH使用Java连接MySQL数据库失败求助

解决Java连接服务器/数据库失败的问题

嘿,我之前也碰到过一模一样的情况!既然IntelliJ能正常连数据库、终端SSH也能登录服务器,那问题肯定出在Java代码的细节配置或者依赖上,咱们一步步来排查:

1. 先确认代码的连接逻辑是否正确

你的代码只写了开头,得先明确是直接连数据库还是通过SSH隧道连接:

  • 如果是直接JDBC连接数据库:
    先去服务器上用netstat -tulpn命令看看数据库端口(比如MySQL的3306)的监听地址是不是127.0.0.1——如果是的话,数据库只允许本地访问,IntelliJ可能是通过SSH隧道间接连的(你可以去IntelliJ数据源配置里看看有没有开SSH隧道),这时候Java代码要么也得配置SSH隧道,要么修改数据库配置把bind-address改成0.0.0.0(允许所有IP访问),然后重启数据库服务。
  • 如果是Java通过SSH隧道连接:
    要检查SSH客户端的配置是否正确,比如用JSch库的话,有没有正确设置端口转发、处理主机密钥验证。给你个简单的示例参考:
    JSch jsch = new JSch();
    Session session = jsch.getSession(username, serverIP, 22);
    session.setPassword(password);
    // 测试环境可以临时关闭主机密钥检查,正式环境别这么干
    session.setConfig("StrictHostKeyChecking", "no");
    session.connect();
    // 端口转发:本地端口3307转发到服务器的3306
    int forwardedPort = session.setPortForwardingL(3307, "localhost", 3306);
    // 然后JDBC连接用localhost:3307
    

2. 检查依赖是否齐全且版本匹配

  • 如果是JDBC连接:一定要引入对应数据库的驱动包,比如MySQL8.0+要用mysql-connector-java:8.x版本,PostgreSQL要用postgresql:42.x版本,版本不匹配会直接导致连接失败。
  • 如果是SSH隧道:要引入JSch这类SSH客户端依赖,比如Maven配置:
    <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>0.1.55</version>
    </dependency>
    

3. 核对防火墙/安全组规则

虽然你能SSH登录,但数据库端口(比如3306)可能只对IntelliJ所在的IP开放,而Java代码运行的机器IP不在允许列表里。去服务器的安全组或者iptables里看看,有没有放行Java机器IP访问目标端口。

4. 打印详细错误日志定位问题

把代码补全异常捕获,打印完整的堆栈信息,比如:

try {
    // 你的连接代码
    Connection conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
    // 打印详细错误,别只打个e.getMessage()
    e.printStackTrace();
}

从错误信息里能直接看到是连接超时(防火墙/端口问题)、认证失败(账号密码/权限问题)还是驱动错误(依赖问题),比瞎猜管用多了。

5. 照搬IntelliJ的连接参数

打开IntelliJ的数据源配置页面,把里面的所有连接参数(比如SSL设置、时区、是否允许公钥检索)都复制到Java的JDBC URL里,比如MySQL的URL可能需要加上这些:

String url = "jdbc:mysql://" + serverIP + ":3306/your_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";

IntelliJ能成功连接,说明这些参数是有效的,照搬过来大概率能解决问题。

你可以先试试上面的步骤,要是还不行,把完整的错误日志贴出来,咱们再针对性排查!

内容的提问来源于stack exchange,提问作者ImportAntigrav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:20:58