用JDBC和MySQL解决“通信链路故障”

用JDBC和MySQL解决“通信链路故障”

我试图连接到本地MySQL服务器,但是我一直收到一个错误。

这是密码。

public class Connect {

    public static void main(String[] args) {
        Connection conn = null;

        try {
            String userName = "myUsername";
            String password = "myPassword";

            String url = "jdbc:mysql://localhost:3306/myDatabaseName";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(url, userName, password);
            System.out.println("Database connection established");
        } catch (Exception e) {
            System.err.println("Cannot connect to database server");
            System.err.println(e.getMessage());
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                    System.out.println("Database Connection Terminated");
                } catch (Exception e) {}
            }
        }
    }}

还有错误:

Cannot connect to database serverCommunications link failureThe last packet sent successfully to the server was 0
 milliseconds ago. 
The driver has not received any packets from the server.com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications 
link
 failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets 
 from the server.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

我已经设置了类路径,确保我的.cnf将跳转网络选项注释掉。

Java版本为1.2.0_26(64位)MySQL 5.5.14 MySQL连接器5.1.17

我确保用户能够访问我的数据库。


慕哥9229398
浏览 2173回答 3
3回答

慕码人8056858

如果你正在使用MamPpro,简单的修复,我真的希望我已经意识到之前,我开始搜索互联网数天试图找出这一点。真的这么简单.。您只需单击MamPMySQL选项卡中的“允许网络访问MySQL”即可。真的,就是这样。哦,您可能仍然需要将绑定地址更改为0.0.0.0或127.0.0.1,就像上面的文章所概述的那样,但是如果您是MamP用户,单击该框可能会解决您的问题。

料青山看我应如是

设置bind-address到服务器的网络IP上,而不是本地主机默认设置,并对我的用户设置特权为我工作。我的.cnf:bind-address = 192.168.123.456MySQL控制台:GRANT ALL PRIVILEGES ON dbname.* to username@'%' IDENTIFIED BY 'password';
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
MySQL