簡體   English   中英

無法從Java應用程序連接到遠程mysql服務器

[英]can not connect to remote mysql server from java application

我創建了Java應用程序。 它可以在本地主機上工作。 但是無法連接到遠程服務器。 這是我的代碼

    public Connection getDBConnection() throws Exception {
    Connection conn = null;
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://192.168.0.101:8081/mydb", "user", "password");
    return conn;
}

我使用的是JDBC驅動程序。

但我收到錯誤消息

Communications link failure

成功發送到服務器的最后一個數據包是在0毫秒之前。 驅動程序尚未收到來自服務器的任何數據包。

我該如何解決這個問題。

    try {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
        "databaseName=dbname;user=1111;password=1111;";
    Connection con = DriverManager.getConnection(connectionUrl);
    } catch (SQLException e) {
        System.out.println("SQL Exception: "+ e.toString());
    } catch (ClassNotFoundException cE) {
        System.out.println("Class Not Found Exception: "+ cE.toString());
    }

更改數據庫名稱和用戶以及密碼,然后就可以了

我認為服務器可能未配置為接受來自您的公共IP地址的請求。 例如,在cPanel中,您需要“允許”從特定IP地址訪問MySQL。 默認情況下,僅允許本地主機。 您可能需要聯系服務器管理員,並請求允許您的IP訪問MySQL服務器。

您絕對不是身份驗證問題,否則您將收到身份驗證失敗響應。

您也可以嘗試從任何MySQL客戶端應用程序(例如MySQL Workbench,SQLYog等)連接到服務器以測試問題。

還要檢查連接字符串中的MySQL服務器IP地址/名稱是否正確,因為我們無法在此處確認。 與您的服務器管理員一起檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM