Connection conn = null; String url = "jdbc:mysql://xxx.xx.xx.xx:3306/connection"; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功加載"); String user = "root"; String passWord = "root"; conn = DriverManager.getConnection(url,user,passWord); System.out.println(conn.toString()); Statement stmt = conn.createStatement(); String sql = "select * from users"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { System.out.println(rs.getString(1) + "\t" + rs.getString(2)); }
代碼中的xx爲遠程服務器ip地址。java
在確認了個人遠程服務器的mysql能夠遠程鏈接,而且端口3306能夠正常訪問後,仍是沒法經過java代碼實現訪問。mysql
無心中加上:sql
if(!conn.isClosed()) { System.out.println("Succeeded!"); }
成功。服務器
猜測緣由是:因爲一直使用的是本機的mysql,鏈接是沒有延遲的,而遠程訪問時,可能在沒有鏈接上時就進行了下面的代碼,致使報錯。url
conn.isClosed()方法應該是在等待反饋,實際上使得給予鏈接的時間期限增加。----徹底是猜測。spa