【问题标题】:AWS RDS Connection Denied Because HostnameAWS RDS 连接因主机名而被拒绝
【发布时间】:2020-12-09 03:12:02
【问题描述】:

所以我正在尝试使用 MySQL 工作台连接到 AWS RDS 服务上的云中的数据库。

当我尝试连接时,我收到这样的错误。

Access denied for user 'admin'@'ip_octet1-octet2-octet3-octet4.res.spectrum.com' to database 'default_database'

我将数据库设置为可公开访问,并且所有 IPS 都能够连接。问题似乎是我的客户试图通过主机名进行连接。我尝试了多个不同的客户端,所以这似乎是 AWS 或我的 ISP 的问题。我已经能够从其他 EC2 实例进入 MySQL 实例。

任何建议将不胜感激。

【问题讨论】:

  • 您在 mysql 工作台中指定什么作为主机名?来自 RDS 控制台的 IP 或主机名?
  • 我都试过了。产生相同的结果。
  • 你能在 MySQL 端口上 telnet 到你的 MySQL 数据库吗?如果您无法远程登录,这至少会验证它是某种 IP/路由问题......如果您能够远程登录,那么那时它就是某种凭证问题
  • 不知道我可以远程登录到 mysql 数据库。我会尝试这个。

标签: mysql amazon-web-services amazon-rds


【解决方案1】:

您的 mysql 用户权限应该允许从特定主机进行连接。您可以向现有用户授予权限,如下所示。

GRANT ALL PRIVILEGES ON database_name.* TO 'admin'@'ip_octet1-octet2-octet3-octet4.res.spectrum.com';

参考: Create and Grant Mysql Permissions

【讨论】:

  • 我试图解决这个问题,因为这需要我进入另一个 EC2 实例以获得 root 权限来运行此命令以访问所有数据库。我几乎相信亚马逊以这种方式设计它是为了全面提高他们的 EC2 利用率。进入 EC2 以连接到另一个 EC2。首次配置数据库时,我可以直接连接,主机名限制稍后发生,创建数据库需要相当长的时间(20 分钟?)。我猜 AWS 端有一些反向 DNS gremlins。
猜你喜欢
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多