【问题标题】:Communications link failure when trying to connect to the database尝试连接到数据库时通信链接失败
【发布时间】:2013-12-06 19:14:47
【问题描述】:

我想使用 JDBC 向我的数据库插入数据,所以第一步是连接它:

try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        System.out.println("Where is your MySQL JDBC Driver?");
        e.printStackTrace();
        return;
    }

    System.out.println("MySQL JDBC Driver Registered!");
    Connection connection = null;

    try {
        connection = (Connection) DriverManager
        .getConnection("jdbc:mysql://localhost:3306/fruits","root", "halo");
        System.out.println("Connecting...");

    } catch (SQLException e) {
        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;
    }

    if (connection != null) {
        System.out.println("You made it, take control your database now!");
    } else {
        System.out.println("Failed to make connection!");
    }

问题是我收到了这个错误:

MySQL JDBC Driver Registered!
Connection Failed! Check output console
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.PlainSocketImpl.doConnect(PlainSocketImpl.java:382)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
    at java.net.Socket.connect(Socket.java:527)
    at java.net.Socket.connect(Socket.java:476)
    at java.net.Socket.<init>(Socket.java:373)
    at java.net.Socket.<init>(Socket.java:216)
    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:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.main.ParserToDB.main(ParserToDB.java:28)


** 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:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at com.main.ParserToDB.main(ParserToDB.java:28)

MAMP 配置如下:

我的问题是这里可能有什么问题? 感谢您的帮助。

【问题讨论】:

    标签: macos jdbc mamp mamp-pro


    【解决方案1】:

    找到答案: 只需取消注释或删除 my.cnf 文件中的 MAMP_skip-networking_MAMP这一行即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 2012-12-21
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2015-02-04
      • 2020-08-09
      • 2022-10-17
      相关资源
      最近更新 更多