好的,所以我从 AWS 创建了一个 ubuntu 实例,并像在常规 Ubuntu 操作系统中一样在其上下载了 LAMP。当我尝试从我的 php 脚本连接到数据库时,它拒绝了连接。说“连接失败:连接被拒绝”。所以我想我的问题是这样的:亚马逊是否不允许你在不使用他们的 RDS 数据库服务的情况下连接到数据库,或者我在这里放错了什么?(出于安全目的,我隐藏了一些数据,......是我的实例的编号)。当我将“ec2-34-...-..-64.compute-1.amazonaws.com”放入浏览器时,会出现 apache 消息,所以我不明白为什么这不能用作服务器名称?
$servername = "ec2-34-...-..-64.compute-1.amazonaws.com";
$username = "root";
$password = “hidden";
$dbname = "questions87";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
您需要更改与 3306 相关的 EC2 安全组入站规则,您可以在 AWS 常见问题解答中找到。然后,您需要确保您的 user@YOURIP 拥有对 MySQL 数据库的所有权限。对于您的入站规则,建议对您的 IP 使用自定义规则,而不是所有流量。
参考和进一步阅读:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句