Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 MySQL:通信链路故障错误和telnet localhost 3306:连接关闭_Java_Mysql_Jdbc - Fatal编程技术网

Java MySQL:通信链路故障错误和telnet localhost 3306:连接关闭

Java MySQL:通信链路故障错误和telnet localhost 3306:连接关闭,java,mysql,jdbc,Java,Mysql,Jdbc,我正在尝试使用Java连接MYSQL数据库,我的SQL数据库位于本地主机上。 我面临一些关于通信链路故障的问题 public testfile() throws ClassNotFoundException, SQLException{ Connection connection = null; try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); connecti

我正在尝试使用Java连接MYSQL数据库,我的SQL数据库位于本地主机上。 我面临一些关于通信链路故障的问题

public testfile() throws ClassNotFoundException, SQLException{

        Connection connection = null;
        try{
        Class.forName("com.mysql.jdbc.Driver").newInstance(); 
        connection = DriverManager.getConnection("jdbc:mysql://localhost/rts?user=root&password=password");
        System.out.println("Connected");
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            if(connection != null)
                connection.close();
        }
}
堆栈跟踪:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
    at java.net.Socket.connect(Socket.java:546)
    at java.net.Socket.connect(Socket.java:495)
    at java.net.Socket.<init>(Socket.java:392)
    at java.net.Socket.<init>(Socket.java:235)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(DriverManager.java:620)
    at java.sql.DriverManager.getConnection(DriverManager.java:222)
    at test.testfile.<init>(testfile.java:18)
    at test.mainfile.main(mainfile.java:9)


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    at java.sql.DriverManager.getConnection(DriverManager.java:620)
    at java.sql.DriverManager.getConnection(DriverManager.java:222)
    at test.testfile.<init>(testfile.java:18)
    at test.mainfile.main(mainfile.java:9)
软件包/软件信息:

  • 面向Web开发人员的EclipseJavaEEIDE
  • 版本:Helios Service Release 1
  • JDK6
  • 连接器/J版本5.0.8
  • Ubuntu:Ubuntu10.04LTS-清晰的猞猁
我尝试了几件事,但都不管用:

  • 我在my.cnf中更改了端口,但没有效果,我更改为3312 相同的错误重复出现,telnet显示如下:

    shreya@shreya-laptop:~$ telnet localhost 3306 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused shreya@shreya-laptop:~$ telnet localhost 3312 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. shreya@shreya-笔记本电脑:~$telnet localhost 3306 正在尝试127.0.0.1。。。 telnet:无法连接到远程主机:连接被拒绝 shreya@shreya-笔记本电脑:~$telnet localhost 3312 正在尝试127.0.0.1。。。 已连接到本地主机。 转义字符为“^]”。 连接被外部主机关闭。 nmap输出:

    telnet localhost 3306 
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    Connection closed by foreign host.
    
    shreya@shreya-laptop:~$ nmap localhost -p 3306 Starting Nmap 5.00 ( [url]http://nmap.org[/url] ) at 2011-03-31 09:45 IST Interesting ports on localhost (127.0.0.1): PORT STATE SERVICE 3306/tcp closed mysql Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds shreya@shreya-laptop:~$ nmap localhost -p 3312 Starting Nmap 5.00 ( [url]http://nmap.org[/url] ) at 2011-03-31 09:45 IST Interesting ports on localhost (127.0.0.1): PORT STATE SERVICE 3312/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds shreya@shreya-笔记本电脑:~$nmap localhost-p 3306 正在启动Nmap 5.00([url]http://nmap.org[网址]2011-03-3109:45 localhost(127.0.0.1)上有趣的端口: 港口国服务 3306/tcp关闭mysql Nmap完成:在0.11秒内扫描1个IP地址(1个主机启动) shreya@shreya-笔记本电脑:~$nmap localhost-p 3312 正在启动Nmap 5.00([url]http://nmap.org[网址]2011-03-3109:45 localhost(127.0.0.1)上有趣的端口: 港口国服务 3312/tcp打开未知 Nmap完成:在0.06秒内扫描1个IP地址(1个主机启动)
  • 我尝试将条目放入hosts.allow,但没有效果

  • 我尝试重新安装mysql。通过mysql提示符和c程序插入数据效果很好,但不是通过java代码

  • 我尝试在ip表中添加规则,但仍然没有帮助

  • 我尝试了url字符串的不同组合。我还尝试了不同版本的eclipse和Connector/JJAR文件(最新版本5.1.15)


您需要向通过端口3306连接的用户授予权限。。。这家伙有一个很好的解释:

首先尝试使用程序中使用的相同凭据,使用
MySQL命令行客户端连接到MySQL

java.net.ConnectException:连接被拒绝

在给定的主机/端口上根本没有侦听/接受连接的内容。验证以下各项:

  • my.cnf
    中验证端口号是否确实为3306
  • 验证数据库是否已启动(使用MySQL数据库管理工具)
  • 验证DB是否接受TCP/IP连接,
    mysqld
    不应具有
    --跳过网络
    选项
  • 验证DB是否没有耗尽连接,如有必要,重新启动它并相应地修复所有现有Java代码,以确保它在
    finally
    块中正确关闭连接
  • 验证中间是否没有防火墙/代理阻止给定端口上的连接

按照您的原始代码格式:Stackoverflow不使用UBB。它使用降价。我已经为你修好了。对于以后的文章,请阅读右侧的专栏,当您在消息编辑器中时,也可以浏览编辑器工具栏。如果是套接字权限问题,则它将是一个
AccessControlException
,而不是
ConnectException
。如果这是一个MySQL权限问题,它将是一个
ConnectException
,消息
访问被拒绝
,而不是
连接被拒绝
。您的权利。。。我也没有注意到提供的telnet示例。我过去曾因这个问题而受挫。