【问题标题】:what is the server name of mySQL hosted on EC2?EC2 上托管的 mySQL 的服务器名称是什么?
【发布时间】:2019-01-18 07:10:22
【问题描述】:

我已经在我的 EC2 上安装了 LAMP,运行 mariaDB。 所以现在我想连接到 mySQL,但是我的 $servername 在 .php 文件中应该是什么(我存储 db_connect 详细信息的位置)?

我已经尝试了 EC2 仪表板上提供的实例的公共 DNS (IPv4) 地址,但是,当我运行 .php 文件时出现连接失败错误。 我在这里使用了正确的服务器名称吗?

还是因为我需要设置一些关于安全组的访问权限?我已将端口 3306,tcp,0.0.0.0/0 添加到安全组,但仍然收到“连接失败:用户 'root'@..... 的访问被拒绝”

我还检查了 my.cnf,我认为它不应该有任何绑定地址值?

【问题讨论】:

  • 这似乎是凭据问题,端口监听似乎工作正常。 php文件是否在同一个盒子上运行?如果是这样,您是否尝试过使用“localhost”?
  • 同意 - 如果您从 ec2 中的服务器收到“连接被拒绝”或访问被拒绝消息,这意味着您可以被服务器告知,这意味着安全组已打开.安全组会静默丢弃不允许的流量,因此如果需要打开安全组,症状将是在传输任何数据之前连接挂起。
  • 顺便说一句,在公共 IP 上打开 mysql 到 0.0.0.0/0 是一个糟糕的主意。如果您从本地工作站访问 mysql,或者为客户端添加 IP 或安全组,请使用 aws 控制台为该规则选择“我的 IP”。这实际上非常重要,因为即使 mysql 也有身份验证,即使没有成功登录,也很容易 DOS mysql 服务器。
  • @INVOKECloud,哦,你的建议有效!只是想知道,为什么输入整个 DNS 地址不起作用?
  • Mysql root 用户默认支持“localhost”,不支持远程访问。当您使用 IP 时,它将被视为“远程”连接,mysql 拒绝它。除此之外,我建议您遵循@DanFarrell 关于安全组的建议。

标签: mysql amazon-ec2


【解决方案1】:

这似乎是凭据问题,端口监听似乎工作正常。 php文件是否在同一个盒子上运行?如果是这样,请使用“localhost”,这应该可以正常工作。这是关于如何启用remote connections的教程。

祝你好运!

【讨论】:

  • 我想真正的问题是没有合适的SQL用户
  • 正确。具有适当权限的用户。
猜你喜欢
  • 2020-09-20
  • 2017-10-26
  • 2014-04-17
  • 2013-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多