我正在尝试将我的java代码与亚马逊中的mysql数据库连接rds,我正在使用以下代码:
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(
"jdbc:mysql://HOST:port_number/DB_name","DB_username", "DB_pass");
st = connection.createStatement();
rs = st.executeQuery("SELECT * FROM table name WHERE id = 1");
} catch (Exception e) {
System.out.println("DB error : " + e);
}
当我运行它时,我收到此错误:
DB error : java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.SocketException: Permission denied: connect
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.SocketException: Permission denied: connect
STACKTRACE:
java.net.SocketException: java.net.SocketException: Permission denied: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DB.<init>(DB.java:15)
at subgroup.main(subgroup.java:72)
** END NESTED EXCEPTION **
任何想法!!
最佳答案
您需要授予对您尝试读取数据库的计算机的访问权限。
您还应该使用命令提示符授予对您的 IP 的访问权限。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html
关于java - 将java连接到亚马逊服务器中的MYSQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24402022/