0

我已经查看了所有内容并尝试了我能找到的所有内容,所以我正在发布一个帖子,以防我的问题很奇怪。

MySQL 工作台可以很好地使用服务器进行查询和更新。通知程序显示服务器正在运行。

我尝试使用 Eclipse Juno 和 Kepler 并得到 eclipse SQL State: 08S01 error 0。零数据包发送成功,服务器没有响应。我重新下载了 Connector/J 以确保下载中断没有错误。没有改善。

我更改为 Netbeans 以确保它不仅仅是 Eclipse 和我系统上的某些东西。没有成功发送数据包,也没有收到任何内容。

我进行了测试以确保服务器已打开,并且 telnet 在命令提示符中使用了正确的端口,并且正如预期的那样,它会要求输入密码。我使用 Wire Shark 来查看数据包数据的样子。看起来服务器正在侦听正确的端口,而 MySQL 工作台正在使用正确的端口。

我不知道出了什么问题。我什至更新到 Windows 7 以确保这不是 Vista 的驱动程序身份验证问题。

我在 NetBeans 中使用了这段代码:

    import java.sql.*;
    import java.util.logging.Level;
    import java.util.logging.Logger;

    public class MySQLTest {
       public static void main(String[] args)
       {
                   try {
               Class.forName("com.mysql.jdbc.Driver").newInstance();
               System.out.println("1");
               Connection con =        DriverManager.getConnection("jdbc:mysql://127.0.0.0:3306/", "root", "wonderwoman");
                 System.out.println("2");
                 con.close();
               System.out.println("We made it!");
           } catch (SQLException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (ClassNotFoundException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (InstantiationException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (IllegalAccessException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           }
       }
    }

最终收到了这个:

2013 年 10 月 22 日晚上 8:59:20 rad.MySQLTest main 严重:空 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接故障

最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序没有收到来自服务器的任何数据包。

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at rad.MySQLTest.main(MySQLTest.java:21)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:241)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
    ... 15 more

我还应该尝试什么?看起来它正在到达服务器,而不是一切都在反弹。我已经关闭了我的防火墙,我没有使用代理,有点把我的头发拉在这里。

4

5 回答 5

0

MySql_connetor.bin文件添加到您的项目库中,然后清理并构建并运行。

于 2014-01-14T17:41:10.927 回答
0

我只是快速搜索并看到这个视频教程,也许你一步一步做错了。希望它对您的需求有所帮助http://magentoexpertforum.com/showthread.php/10268-Connect-Netbean-to-MySQL

于 2014-04-28T09:00:51.697 回答
0

我认为您正在本地计算机上运行 mysql,如果将您的数据库名称附加到连接字符串并尝试例如“jdbc:mysql://127.0.0.1:3306/databasename” 或尝试“jdbc:mysql://localhost:3306 /databasename"
您使用 127.0.0.0 作为您的 IP 地址,但通常 localhost 是127.0.0.1而不是 127.0.0.0

于 2013-10-23T02:35:31.240 回答
0

嗨,我刚刚遇到了完全相同的问题,直到现在我的 MySQL 服务器连接到 netbeans 都很好,然后它突然停止工作。我检查了 bin 文件夹中的 my.config 文件,由于某种原因,端口已从 3306 更改为 6033,因此您可以使用新端口号重新注册 MySQL,或更改配置文件中的端口号。

于 2014-05-21T01:15:08.197 回答
0

试试这个代码:

try {
  Class.forName("java.sql.Driver");
  Connection con = 
  DriverManager.getConnection("jdbc:mysql://localhost/db_name","username","password");
  Statement stmt = con.createStatement();
  ///your furthercode acc. to your project
}
catch(Exception e) {
  JOptionPane.showMessageDialog(null,e.getMessage());
}
于 2019-07-13T20:21:15.293 回答