java - 如何将部署在弹性 benstalk 上的 Web 应用程序与 aws 上的 mysql 数据库实例连接起来?
问题描述
我在弹性 beantalk 上部署了一个 Web 应用程序。我已经为它配置了 MySQL 数据库。在安全组的数据库实例中,我做了以下更改:类型(MYSQL/Aurora)、协议(TCP)、端口范围(3306)和源(0.0.0.0/0)。当我尝试使用 Web 应用程序将数据插入数据库或使用部署在弹性 beanstalk 上的 Web 应用程序从数据库中获取数据时,我无法做到。如 aws 网站上所述,我已对 servlet 代码进行了更改,但未在 web 应用程序和 aws 上的 RDS 之间建立连接。我不知道我在哪里做错了。请帮助我实现它。
解决方案
请按照以下步骤从 Web 应用程序连接 mysql 实例:
- 从 RDS 实例复制端点,这将是您的 mysql 数据库的主机名。
- SSH 进入 EC2 实例
使用 mysql 使用以下命令连接到 RDS 实例:
mysql -u 用户名 -p -h 主机名
其中 HOSTNAME 是您的 RDS 实例的端点。
此外,您提到您在 VPC 安全组中有入站的所有流量。这不是连接到数据库的推荐方式。应始终保护数据库不受外界影响。您必须明确提及连接的来源。
例如:
Type Protocol Port Range Source
MySQL/Aurora TCP 3306 应用的安全组id
推荐阅读
- sql - 为什么 Microsoft SSMS 语法会突出显示“配置”一词?
- c# - 如何将表从数据库添加到当前 MVC 5 上下文
- gdb - 简单的 hello world 程序的 gdb 在 Mac 10.13.6 上无法按预期工作
- python - 数据框行上的函数以减少重复对 Python
- visual-studio-code - VS Code 中的选项卡排序
- php - Laravel,添加门以查看用户是否具有访问权限
- java - 如何在 Java 中将 JTable 添加到 JTabbedPane
- d3.js - d3.js .on mouseover 不会触发
- go - 如何从 proto 消息生成 protobuf 文件?
- javascript - 在全局变量中存储图像尺寸