當我嘗試連接mysql使用jdbc意味着它在localhost上成功連接。但我用我的IP地址替換localhost意味着itz沒有連接..因爲dis錯誤是..顯示它被清除。 。幫我。在java中的通信鏈路故障
DIS是我的編碼:
package com.retrieve;
import java.sql.*;
public class retrieve{
public static void main(String[] args) {
System.out.println("Getting All Rows from a table!");
Connection con = null;
String url = "jdbc:mysql://192.168.1.249:3306/";
String db = "login";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "";
try{
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url+db, user, pass);
try{
Statement st = con.createStatement();
ResultSet res = st.executeQuery("SELECT * FROM login");
System.out.println("username: " + "\t" + "password: ");
while (res.next()) {
String s = res.getString("username");
String s1 = res.getString("password");
System.out.println(s1 + "\t\t" + s);
}
con.close();
}
catch (SQLException s){
System.out.println("SQL code does not execute.");
}
}
catch (Exception e){
e.printStackTrace();
}
}
}
的錯誤是:
獲取所有行從表! java.sql.SQLException:數據源拒絕建立連接,來自服務器的消息:「主機'192.168.1.249'不允許連接到此MySQL服務器」 at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java :650) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1808) at com.mysql.jdbc.Connection。(Connection.java:452) at com.mysql.jdbc.NonRegisteringDriver.connect( java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.retrieve.retrieve.main(retrieve。 java:15)
允許從遠程主機的root訪問權限是不是安全 –