java - 如何使用 key 文件通过 Java 数据库连接连接到 AWS 数据库

标签 java mysql database jdbc amazon-ec2

我有 amazon ec2 和 rds 实例,它们都在虚拟私有(private)云中运行。 rds 包含一个 mysql 数据库。我可以通过输入数据库信息(主机、端口号、数据库、用户)以及 ec2 实例的 ssh 详细信息(主机、端口号、用户、 key 文件)来使用 mysql 工作台连接到 rds 数据库。

我现在正在编写一个需要访问数据库的java程序。我很困惑如何使用 JDBC(java 数据库连接)库来完成此操作。网上有关于使用 JDBC 的示例,但是它们似乎并没有解决我面临的某些问题。

例如,要连接到我的数据库,我还必须通过 ssh 进入 ec2 实例。其次,我的 ec2 实例使用 key 文件而不是密码,而且我还没有看到任何如何在代码中实现此功能的示例。

我非常感谢与此问题相关的任何建议或代码示例。如果我需要澄清任何事情,请告诉我。谢谢

最佳答案

如果您可以连接 MySQL Workbench,那么您几乎已经完成了所有设置。这意味着您的安全组已打开并且您已准备好进行远程连接。您不需要通过 SSH 访问 EC2 服务器。您只需要您的公共(public) IP 或 DNS(主机)、您正在使用的端口以及您的数据库用户名和密码。然后,您只需执行类似以下代码的操作即可。

Class.forName("com.mysql.jdbc.Driver");  
Connection conn = DriverManager.getConnection(  
"jdbc:mysql://{public dns or ip}:{port}/{database name}","{username}","{password}");
Statement stmt = conn.createStatement();  
ResultSet rs = stmt.executeQuery("select * from table");

这应该足以将您连接到数据库。当然,请更改 {} 及其各自的值。如果您需要更多信息,可以查看这个page .

关于java - 如何使用 key 文件通过 Java 数据库连接连接到 AWS 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272564/

相关文章:

java - JSF 1.2 自定义组件 - 来自 Backing Bean 的主体内容

java - MySQL JDBC 负载平衡和故障转移

php - 通过数据库设置动态网站的用户权限

sql - 在 Oracle 子查询中获取 order by 后的第一行

java - 是否可以创建其成员仅实现多个接口(interface)的类型安全的 Java 集合?

java - StackOverflow 与 Spring Data JPA findOne

java - Java 后缀计算器中的 StackOverFlowError

mysql查询如何显示本周每天的现金销售总额

mysql - 从内部联接内的子查询访问表 - MySql

MySQL 5.5 - 如何在插入期间表被锁定时获取行数