繁体   English   中英

如何从EC2实例对RDS实例进行MySQL查询?

[英]How do I do MySQL queries on an RDS instance from an EC2 instance?

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

由于某种原因,遵循此处的结果一直没有帮助。

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

这是我的剧本,

<?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";    
}
?>

您可以在我对这个问题的回答中使用代码,该代码还解释了每一行代码的作用。 您可以在$servername变量中键入Amazon RDS 端点 并在$sql变量中更改查询。

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

1.在您的EC2管理控制台中,从左侧导航中选择“安全组”。 图。1

2.选择RDS服务器的安全组 nb如果您在设置时没有命名此特定名称,则该名称很可能类似于rds-launch-wizard created xxxxxxx 图2

单击编辑按钮。 其中的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";

}


?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM