如何在EC2实例的RDS实例上进行MySQL查询?

时间:2016-02-13 20:30:05

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

我一直在尝试建立一个系统,我的数据库将在AWS RDS实例中,而我的程序在EC2实例中(看似非常简单)

由于某种原因,结果here之后的结果非常无益。

为了澄清,我正在寻找的是一些连接到数据库并运行mysql查询的示例代码。到目前为止,我的每次尝试都以我的程序尝试连接我的ec2实例上的localhost mysql结束,尽管指定了rds url。

这是我的剧本,

<?php
$servername = "maindb.gibberish.us-east-1.rds.amazonaws.com";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (mysqli_error($conn)) {
    die("Connection failed: " . mysqli_error($conn));
}else{
        echo "connected successfully";    
}
?>

1 个答案:

答案 0 :(得分:1)

您可以使用我的answer to this question中的代码,这也解释了每行代码的作用。您可以在$servername变量中键入您的亚马逊RDS 端点。并在$sql变量中更改您的查询。

确保您的EC2服务器可以联系您的RDS。您需要确保正确设置安全组以允许来自服务器的连接。像这样:

<强> 1。在EC2管理控制台中,从左侧导航栏中选择“安全组”。 Fig1

<强> 2。选择RDS服务器的安全组。 注:如果您在设置时未将此内容命名为特定内容,则该名称可能看起来像rds-launch-wizard created xxxxxxxFig2

单击编辑按钮。那里的IP地址很可能就是您正在使用的IP地址。 (或者您在设置服务器时所使用的那个)。您需要将其更改为ANY,或仅更改为EC2服务器的公共IP地址。

编辑:看了你的代码后,我认为你正在测试连接错误。

<?php
$servername = "maindb.gibberish.us-east-1.rds.amazonaws.com";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {

    die("Connection failed: " . mysqli_error($conn));

}else{
        echo "connected successfully";

}


?>
相关问题