java远程访问linux服务器下mysql 无法连接的问题i

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地址。

在确认了我的远程服务器的mysql可以远程连接,并且端口3306可以正常访问后,还是无法通过java代码实现访问。

无意中加上:

            if(!conn.isClosed())
            {
                System.out.println("Succeeded!");
            }

成功。

猜想原因是:由于一直使用的是本机的mysql,连接是没有延迟的,而远程访问时,可能在没有连接上时就进行了下面的代码,导致报错。

conn.isClosed()方法应该是在等待反馈,实际上使得给予连接的时间期限增长。----完全是猜想。

 

posted on 2015-10-10 20:06  SomeBod_Y  阅读(316)  评论(0编辑  收藏  举报