php - 连接到在 Ubuntu AWS 实例中创建的 MySQL 数据库

标签 php mysql linux amazon-web-services ubuntu

好的,所以我从 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 FAQ 上找到该规则。然后,您需要确保您的 user@YOURIP 拥有您的 MySQL 数据库的所有权限。对于您的入站规则,建议对您的 IP 使用自定义规则,而不是所有流量。

引用与延伸阅读:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html

关于php - 连接到在 Ubuntu AWS 实例中创建的 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45663593/

相关文章:

php - 处理和监视存储在 MySQL 数据库中的基于时间的事件的方法?

php - 如何构造 HTML 表单元素以便将它们轻松转换为 PHP 对象?

linux - 使用 ptrace 设置 RIP 的奇怪行为

linux - 在 Docker Alpine 容器中启动 shell

mysql - 使用 LIKE 对未知(动态)查询数量进行 Rails SQL 查询

c++ - 当轮廓上的第一个点偏离曲线时如何解释自由字形轮廓

php - DOMDocument saveHTML 错误地编码 href 属性

php - 将额外变量传递给 Hook 函数

mysql - GCM速度和DB设计冲突

php - 如果包含 LIKE '%text%' 则替换 SELECT sql 查询(PLUS)中的特定字符串替换整个结果