2

首先,设置如下:AWS EC2 实例已启动并正在运行。端口 22,80 和 3306 已添加到安全组

RDS 数据库实例已启动并正在运行。我的本地 IP 被添加为 CIDR/IP 连接。AWS 账户 ID 作为 EC2 安全组连接添加。

对我来说,地区不同,这有点奇怪。RDS 是美国东部(弗吉尼亚北部),EC2 是美国西部(俄勒冈)。

我的本地数据库已成功导入 RDS。我使用这样的命令行:

C:\xampp\mysql\bin>mysqldump -u root 'local database' | mysql -- host='Endpoint' --  user='user login' --password='user pwd' ' rds database'

我也在使用 MySQL Workbench 来连接和查询 rds 上的数据库。我从来没有将我的备份 sql 文件('localhostdatabase.sql')导入 rds。

这是我的连接方式:(两个选项都不起作用。)

// $serverConnect = mysql_connect('rds endpoint','rds admin','rds pwd');
// $serverConnect = mysql_connect('EC2 elastic ip','rds admin', 'rds pwd');

当您单击http://www.realcardio.com上的“演示”按钮时,您会看到错误

我需要配置一个php文件吗?如果是这样,我该怎么做?我的网络文件存储在 /var/www/html。但我不知道 php 配置文件的位置。

我使用 WinSCP 连接到 EC2。如果我需要在此处修改文件,如何连接到 RDS?

我会排除故障并与您分享任何内容。只是想让它启动并运行。我很感激任何帮助!

丹麦

4

1 回答 1

8

好的,这里有很多问题,所以我会尝试解决所有问题:

  1. 除非您喜欢慢速性能,否则您的 RDS 实例和 EC2 实例应位于同一区域。易于更改,但在启动之前进行。
  2. 除了数据库凭据和 RDS 实例地址之外,您无需在 PHP 文件中配置任何内容。您应该使用您列出的第一个选项。
  3. 您无法建立连接的原因可能是您的安全组。仔细检查您的 EC2 安全组是否已作为“允许”添加到您的 RDS 安全组。请记住,每个安全组都是不同的。如果在验证这些设置后仍然无法正常工作,则直接将 EC2 实例的 IP 地址添加到 RDS 安全组。
  4. 您没有询问的问题:关闭您网站上的 display_errors。它会公开您不希望向用户公开的信息。另外,不要使用“mysql_*”函数。他们已经开始了弃用过程,漏洞比你的漏洞还多,并且还错过了许多新的 MySQL 功能。请改用 PDO 或 MySQLi。
于 2012-08-02T01:11:18.677 回答