我一直在尝试建立一个系统,我的数据库将在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";
}
?>
答案 0 :(得分:1)
您可以使用我的answer to this question中的代码,这也解释了每行代码的作用。您可以在$servername
变量中键入您的亚马逊RDS 端点。并在$sql
变量中更改您的查询。
确保您的EC2服务器可以联系您的RDS。您需要确保正确设置安全组以允许来自服务器的连接。像这样:
<强> 1。在EC2管理控制台中,从左侧导航栏中选择“安全组”。
<强> 2。选择RDS服务器的安全组。
注:如果您在设置时未将此内容命名为特定内容,则该名称可能看起来像rds-launch-wizard created xxxxxxx
。
单击编辑按钮。那里的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";
}
?>