我通过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();
}
}
答案 0 :(得分:1)
执行以下操作以确保您的问题不是由于任何网络或MySQL配置相关问题引起的。
telnet 192.168.1.9 3306
在此之后,您需要检查您的mysql用户和密码是否正常工作。为此,您可以执行以下步骤。
mysql -uroot -p -h192.168.1.9
如果上述任何步骤失败,请回复以便我可以提供帮助。在这种情况下,您可以提供一个错误的屏幕截图。
答案 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();
}
}