我是服务器和数据库的新手。我一直在尝试测试连接,读取和修改Amazon ec2上托管的Mysql数据库的Java应用程序。
System.out.println("-------- MySQL JDBC Connection Testing ------------");
String DNS = "MYDNS";
String myDBname = "DBNAMe"
String MYSQLUSER = "USER";
String MYSQLPW = "PW";
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:mysql://" +DNS+@"/"+myDBname, MYSQLUSER, MYSQLPASS)
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
currentDir = "broke";
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
问题是,尽管能够通过Mysql工作台使用凭据进行连接,将3306添加到我的安全组,将0.0.0.0绑定到mysql config,我仍然无法建立连接(在对其他类似问题进行了一些搜索之后所以)
任何人对什么地方可能出了错有什么见解?我尝试了getConnection()参数的许多变体。
最佳答案
connection = DriverManager.getConnection("jdbc:mysql://username@ec2-host/myDBname, MYSQLUSER, MYSQLPASS)