无法将Java连接到MySQL数据库

时间:2017-12-17 04:08:04

标签: java mysql

我通过LAN从java到mysql有数据库连接问题。我曾经将mysql连接器java插入到IDE库中,并且ping到DBServer是成功的。我已将localhost更改为DBServer的IP地址(192.168.1.9:3306),但它无法从Java连接到DBServer。为什么无法连接到mysql以及如何解决这个问题?我有这样的源代码:

public static void Inisialisasi (){

try {

       Class.forName("com.mysql.jdbc.Driver").newInstance();

            dbconn = DriverManager.getConnection("jdbc:mysql://192.168.1.9:3306/vestryl?" +
                                                 "user=root&password=root");
            dbconn.setAutoCommit(false);
            //dbconn.setReadOnly(false);
            Statement stmt = dbconn.createStatement();
            Calendar cal = Calendar.getInstance();
            SimpleDateFormat sdf = new  SimpleDateFormat ("dd-MMM-yyyy HH:mm:ss z");

            System.out.println("Terkoneksi ke Database pada " + sdf.format(cal.getTime()));
}

catch (Exception e) {
            System.out.println("Koneksi ke DB error: " + e.getMessage());
            e.printStackTrace();
}
}

2 个答案:

答案 0 :(得分:1)

执行以下操作以确保您的问题不是由于任何网络或MySQL配置相关问题引起的。

  1. my.cnf / my.ini文件中的绑定地址应该是未注释和配置的 as 192.168.1.9 (假设“192.168.1.9”是MySQL服务器的IP地址)
  2. 完成上述操作后,重新启动MySQL服务器
  3. 从使用安装Java应用程序的服务器尝试telnet 命令telnet 192.168.1.9 3306
  4. 如果发生了telnet,那么你的MySQL配置&网络连接 很好。
  5. 在此之后,您需要检查您的mysql用户和密码是否正常工作。为此,您可以执行以下步骤。

    1. 在部署Java应用程序的服务器中安装MySQL客户端
    2. 然后使用以下命令从您的MySQL客户端访问MySQL服务器  应用程序服务器mysql -uroot -p -h192.168.1.9
    3. 当提示输入密码时,请提供相同的
    4. 如果您能够登录,那么您的网络和用户配置就可以了 用MySQL。然后,您可以专注于您的应用程序部分
    5. 如果上述任何步骤失败,请回复以便我可以提供帮助。在这种情况下,您可以提供一个错误的屏幕截图。

答案 1 :(得分:0)

我的源代码如下:

public static void getConnection(){

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

        dbconn = DriverManager.getConnection("jdbc:mysql://192.168.1.9:3306/vestryl?" +
                                             "user=root&password=root");
        dbconn.setAutoCommit(false);
        //dbconn.setReadOnly(false);
        Statement stmt = dbconn.createStatement();
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new  SimpleDateFormat ("dd-MMM-yyyy HH:mm:ss z");

        System.out.println("Connect to DB on " + sdf.format(cal.getTime()));
    }
    catch (Exception e) {
        System.out.println("Koneksi ke DB error: " + e.getMessage());
        e.printStackTrace();
    }
}