Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.net.ConnectException_Java_Mysql - Fatal编程技术网

java.net.ConnectException

java.net.ConnectException,java,mysql,Java,Mysql,关于这个话题,我已经看到了一些线索,但我仍然不知道出了什么问题。代码如下: import java.sql.*; public class SQL { public static void main(String[] args) { Connection conn = null; String url = "jdbc:mysql://mysql1.oyo.co.il:3306/"; String dbName = "sdarot

关于这个话题,我已经看到了一些线索,但我仍然不知道出了什么问题。代码如下:

import java.sql.*;

public class SQL
{
    public static void main(String[] args) 
    {
        Connection conn = null;
        String url = "jdbc:mysql://mysql1.oyo.co.il:3306/";
        String dbName = "sdarot2_winner";
        String driver = "com.mysql.jdbc.Driver";
        String userName = ""; 
        String password = "";
        String table = "LEADER_CAM_PRODUCTS";

        try {
            Class.forName(driver).newInstance();
            conn = DriverManager.getConnection(url+dbName,userName,password);
            System.out.println("Connected to the database");
            conn.close();
            System.out.println("Disconnected from database");

        }catch (Exception e) {
            System.out.println(e);
        }
  }
}
下面是我得到的错误:

com.mysql.jdbc.CommunicationsException:由于基础>>异常导致的通信链路故障:

**开始嵌套异常**

java.net.ConnectException 消息:连接超时:连接

堆栈跟踪:

java.net.ConnectException:连接超时:连接 位于java.net.PlainSocketImpl.socketConnect(本机方法) 位于java.net.PlainSocketImpl.doConnect(未知源) 位于java.net.PlainSocketImpl.connectToAddress(未知源) 位于java.net.PlainSocketImpl.connect(未知源) 位于java.net.socksocketimpl.connect(未知源) 位于java.net.Socket.connect(未知源) 位于java.net.Socket.connect(未知源) 位于java.net.Socket。(未知源) 位于java.net.Socket。(未知源) 位于com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) 在com.mysql.jdbc.MysqlIO上(MysqlIO.java:271) 在com.mysql.jdbc.Connection.createNewIO上(Connection.java:2744) 位于com.mysql.jdbc.Connection(Connection.java:1553) 位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) 位于java.sql.DriverManager.getConnection(未知源) 位于java.sql.DriverManager.getConnection(未知源) 位于SQL.main(SQL.java:17)

**结束嵌套异常**

发送到服务器的最后一个数据包是1毫秒前

以下是我发现的一些东西:

  • I.P/域或端口不正确
  • I.P/域或端口(即服务)已关闭
  • I.P/域的响应时间比默认超时时间长
  • 您有一个防火墙,它阻止您正在使用的任何端口上的请求或响应
  • 您有一个防火墙,它阻止对该特定主机的请求
  • 您的internet访问已关闭
  • a) 这是正确的。 b) 自从我有了一个正在使用该数据库的网站后,它就没有停止运行。 c) 我怎么能检查呢?我不认为这是个问题,因为正如我所说,我在这个数据库上有一个正在运行的网站。 d) 现在是因为我上面提到的同样的原因。 e) samem as d

    那么我做错了什么呢?为什么php代码可以与sql一起工作,但java会给我错误?
    谢谢。

    作为实验,尝试使用系统的telnet命令连接到mysql1.oyo.co.il上的3306端口。或其他打开原始TCP/IP连接的实用程序(例如
    nc
    netcat
    )。根据您的操作系统/发行版,您可能需要找到并安装合适的命令来帮助您解决此问题。观察发生了什么


    重新诊断:

    a) 这是正确的

    如果你这么说

    b) 自从我有了一个正在使用该数据库的网站后,它就没有停止运行

    充其量,您已经证明主机正在工作。端口80上的web服务和端口3306上的MySQL服务是不同的服务。(事实上,
    mysql1.oyo.co.il
    可能正在使用巧妙的数据包路由技巧,以便将不同端口上的流量以传输方式路由到不同的主机或虚拟主机。)

    c) 我该怎么查呢

    尝试更改/增加超时

    我不认为这是个问题,因为正如我所说,我在这个数据库上有一个正在运行的网站

    我猜这不是超时问题。。。但正如我上面所说的,你有一个网站的事实并不能说明MySQL服务是否正在运行

    d) 现在是因为我上面提到的同样的原因

    您只演示了可以到达端口80。。。见上文

    e) samem as d

    您只演示了可以到达端口80。。。见上文


    基于上述情况,有理由认为:

    • 您有本地防火墙问题
    • 该端口上的MySQL服务当前未运行
    • 服务端的网络路由因该端口上的流量而中断
    • MySQL服务已永久关闭,或者
    • 该服务的防火墙已配置为不接受来自随机(或特定)位置(包括您的)的网络连接
    您看到的是超时而不是“连接被拒绝”,这一事实表明,这更可能是网络或防火墙问题,而不是MySQL服务端点本身的问题


    我猜“他们”已经撤回了服务。。。你不应该再使用它了。(提供公共MySQL数据库服务让我觉得很奇怪……而且从安全和管理的角度来看也是有问题的。)

    作为一个实验,尝试使用系统的telnet命令连接mysql1.oyo.co.il上的3306端口。或其他打开原始TCP/IP连接的实用程序(例如
    nc
    netcat
    )。根据您的操作系统/发行版,您可能需要找到并安装合适的命令来帮助您解决此问题。观察发生了什么


    重新诊断:

    a) 这是正确的

    如果你这么说

    b) 自从我有了一个正在使用该数据库的网站后,它就没有停止运行

    充其量,您已经证明主机正在工作。端口80上的web服务和端口3306上的MySQL服务是不同的服务。(事实上,
    mysql1.oyo.co.il
    可能正在使用巧妙的数据包路由技巧,以便将不同端口上的流量以传输方式路由到不同的主机或虚拟主机。)

    c) 我该怎么查呢

    尝试更改/增加超时

    我不认为这是个问题,因为正如我所说,我在这个数据库上有一个正在运行的网站

    我猜这不是超时问题。。。但正如我上面所说的,事实上你有一张网