【问题标题】:Can't connect a DB to AWS无法将数据库连接到 AWS
【发布时间】:2016-06-20 19:29:38
【问题描述】:

我在我的项目和 Laravel 5 中使用 AWS。刚刚在 EC2 中安装了我的 laravel 项目并在 RDS 中设置了一个数据库。我使用 mysql 工作台导入了.sql 文件。在我的.env 中,我设置了主机、数据库名称、用户和密码,但是当我在浏览器中访问项目时出现错误:

PDOException in Connector.php line 55: 
SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'blue*****.************.us-west-2.rds.amazonaws.com' (4) 

出于安全原因,请输入*。那么有什么问题呢?

更新:

当我尝试使用命令行连接到 RDS 实例时:

ERROR 2003 (HY000): Can't connect to MySQL server on 'blue****.**********.us-west-2.rds.amazonaws.com' (110)

【问题讨论】:

  • 你能通过终端从你的 EC2 连接到 mysql 吗?
  • 通过 SSH 登录实例并在命令行中输入:mysql -u <username> -p -h blue*****.************.us-west-2.rds.amazonaws.com 看看是否有效。如果没有,请使用结果错误更新您的问题。
  • 当您遇到这样的错误时,通常表示网络或防火墙有问题。确保您的实例被允许访问您的 RDS 实例。
  • @datasage 我不知道该怎么做
  • @Alex 查看附加到您的 RDS 实例的安全组。

标签: mysql laravel amazon-web-services amazon-ec2 amazon-rds


【解决方案1】:

您无法从 EC2 实例连接到 RDS 实例的原因与安全组有关。

在您的 EC2 实例可以与 RDS 服务器通信之前,您需要为 RDS 配置一个安全组。

您可以查看thisthis 了解更多详情。

【讨论】:

  • 为这些安全组写了这么多,最终我不明白如何设置它们以允许 EC2 和 RDS 之间的通信
  • 您还应该确保您的 EC2 和您的 RDS 在同一个 VPC 中,否则他们将无法看到对方。
猜你喜欢
  • 2018-10-07
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2016-12-14
  • 2021-07-17
相关资源
最近更新 更多