繁体   English   中英

使用JDBC连接到mysql远程数据库?

[英]Connect to mysql remote database using JDBC?

我是一个java初学者,我正在研究一个使用JDBC连接到远程mysql数据库的简单应用程序。 我已经在本地进行了测试,它运行得很好,但我不能让它为我的远程服务器工作。 我不认为它有多大用处,但是代码是:

Connection connection = null;
String dburl = "jdbc:mysql://314159265:3306/Db_Name";
String userName = "user";
String passWord = "password";

    try {
        Class.forName("com.mysql.jdbc.Driver");

        connection = DriverManager.getConnection(dburl, userName, passWord);
        Statement st = connection.createStatement();                                 

        String query = "INSERT INTO Example (`TestColumn`) VALUES('hello')";
        int rsI = st.executeUpdate(query);
        System.out.println("Hi");
        }catch (Exception e) {
        System.out.println(e);
    } finally {
        if (connection != null) {
            try {
                connection.close();
                System.out.println("Database connection terminated");
            } catch (Exception e) { /* ignore close errors */ }
        }
    }

当我运行它时,我收到以下消息:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago.The driver has not received any packets from the server.

我很确定它必须是某种服务器配置问题。

 Notes:
 Username, password, IP, database name, etc. are just examples.
  1. 这可能是防火墙问题或配置问题。 但我认为这根本不是编码问题 - 您需要开始对连接进行故障排除。

  2. 通过尝试使用第三方客户端应用程序连接到mysql进行故障排除。 这将指示是否配置为外部访问。 虽然它不能确保从外部看到JDBC,但它确实排除了一些潜在的防火墙问题。

  3. 请按照本指南帮助您搞乱配置

远程MYSQL数据库访问

如果您仍然卡住,可能是编码问题,请查看此页面:

如何用java连接远程mysql数据库?

PS我假设你使用unix作为操作系统。

我猜314159265可以被某个地址替换....比如jdbc:mysql:// localhost:3306 /或jdbc:mysql://127.0.0.1:3306 /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM