【问题标题】:Simple Connection to Amazon RDS MySQL Database using MySQL Workbench使用 MySQL Workbench 与 Amazon RDS MySQL 数据库的简单连接
【发布时间】:2014-11-24 08:45:52
【问题描述】:

我只是想从本地计算机上的 MySQL Workbench 连接到 Amazon MySQL RDS 实例。我此时并不想从 EC2 实例或任何其他服务器连接或做任何特别的事情。我只是想以最基本的方式进行连接,这样我就可以从 MySQL Workbench 中添加数据库、表和一些数据。

我已在运行 OSX 10.9.4 的 Mac 计算机上下载并安装了 MySQL Workbench 应用程序。

我在 Amazon AWS 上设置了一个 MySQL RDS 实例。

我有一个为此 RDS 实例授权的 EC2 安全组。 (我应该使用 CIDR/IP 安全组吗?如果可以,请详细说明)

我打开了 MySQL Workbench,并在 Setup New Connection 窗口中:

  • 连接方法设置为标准(TCP/IP)。
  • 主机名是我在我的 RDS 仪表板下为此实例找到的端点
  • 用户名是我创建此 RDS 时创建的主用户名 实例。
  • 密码要求“存储在钥匙串中...”我输入了我创建的密码 当我创建这个 RDS 实例时。

当我在 WorkBench 中测试连接时,出现错误:

Can't connect to MySQL server on 'SERVER_IP_ADDRESS' (60)

我做错了什么?新手请从头一步一步来。

【问题讨论】:

  • 您可能需要解锁亚马逊使用的防火墙中的端口,您可以在管理面板中对实例执行此操作。
  • 我什至可以从我的个人计算机连接还是必须通过 EC2 实例连接?我需要创建一个 CIDR/IP 类型的新安全组吗?

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


【解决方案1】:

你有几个选择:

  • 打开对您计算机 IP 地址的直接 RDS 访问。这应该很容易做到,但如果您的 IP 地址不是静态的或通过允许其他机器共享相同 IP 的 NAT 提供,则可能不那么安全。
  • 在您的 EC2 实例上通过 SSH 隧道访问 RDS。您将使用适当的密钥通过 SSH 连接到您的 EC2 实例,然后从那里连接到 RDS。从安全角度来看,这可能是最好的配置,因为您不需要在 RDS 防火墙中打开任何额外的漏洞,而且您通常会启用 SSH 来访问您的 EC2 实例。

【讨论】:

  • 私钥在哪里?
【解决方案2】:

亚马逊的instructions for the task 看起来不错,所以我不打算在这里复制整个内容;只是相关部分。我使用命令行,但同样的设置也适用于MySQL Workbench

mysql -h hostname

如果这没有帮助,请随时发表评论。

【讨论】:

    【解决方案3】:

    我有一个为此 RDS 实例授权的 EC2 安全组。 (我应该使用 CIDR/IP 安全组吗?如果可以,请详细说明)

    这是您似乎缺少的部分。您需要编辑您的安全组设置:

    • 您需要对尝试通过 CIDR/IP 连接 RDS 实例的计算机的 IP 进行授权。如果您使用同一台计算机来编辑安全组,因为您尝试通过 MySQL Workbench 进行连接,那么当您选择“连接类型:CIDR/IP”(在安全组设置的底部)时,对话框将自动- 填写您自己的 IP 块(您的 IP 附加 /32)。

    • 单击“授权”即可。

    我体验过这种授权需要几秒钟到一分钟才能在 AWS 控制台中直观地完成,但是一旦它显示“已授权”,连接应该可以工作。

    当然,假设您的连接字符串是正确的。 ;)

    【讨论】:

      【解决方案4】:

      您要确定的几件事:

      • 您的 VPC 安全组允许在您使用的端口上进行连接(默认为 3306)。
      • 确保您的 VPC 连接了 Internet 网关。
      • 您的子网的路由表必须包含将 Internet 绑定流量定向到 Internet 网关的路由。 (source)

      对我来说,最后一个漏掉了。具体来说,我在路由表中添加了一个目的地,通向 0.0.0.0/0 (ALL)。我不知道这对安全的影响,但在那之后它起作用了。这对我来说是一个一次性数据库,它与其他实例/VPC 隔离。

      【讨论】:

        【解决方案5】:

        这个链接帮助了我:

        http://domino.symetrikdesign.com/2010/10/07/how-to-create-a-mysql-workbench-connection-to-amazon-ec2-server/

        SSH 主机名应该是您的 ec2 实例的公共 DNS。

        SSH 用户名应该是您的 ec2 实例的用户名(例如:ec2-user)。

        SSH 密码应该是您的 ec2 实例的密码。

        MySQL 主机名应该是“您在 RDS 仪表板上找到的端点”

        用户名和密码应该是 rds 实例的用户名和密码。

        【讨论】:

          【解决方案6】:

          e.thompsy 的回答对我有所帮助,但是从那时起 AWS 界面中的情况发生了变化。为了让你的电脑IP访问MySQL实例:

          1. 导航到 RDS 仪表板并单击实例。这将列出您的 RDS 实例。
          2. 展开您要访问的 RDS 实例。
          3. 在“安全和网络”部分下,列出了安全组,并将具有安全组名称的标识符 (sg-xxxxxx)
          4. 在单独的选项卡中,打开 EC2 仪表板。
          5. 在“网络和安全”下的左侧菜单中,点击“安全组”
          6. 从您的 RDS 实例中单击具有匹配组 ID 的安全组。
          7. 下面列出了该组的选项。点击“入站”。
          8. 单击“编辑”。将弹出一个对话框。
          9. 点击“添加规则”
          10. 选择MYSQL/Aurora,它会为协议填写TCP,为默认MySQL端口的端口范围填写3306。如果要更改此设置,请选择自定义 TCP 并输入要打开的范围。
          11. 在“源”下拉列表中,如果您在需要访问的计算机上选择“我的 IP”,否则选择“自定义”并输入要访问的计算机的 IP,然后输入“/32”
          12. 单击保存,然后使用您指定的端口使用“标准 TCP/IP”将 MySql Workbench 连接到您的 RDS 端点。当然,您必须在这样做时输入用户名/密码。

          我不知道向您的 IP 开放该端口的安全隐患。如果您担心,我建议您在完成需要访问 RDS 实例后撤销入站规则。

          【讨论】:

          • 我这样做了,但我仍然无法连接 - 我正在使用 mysql -h -P -u -p 。连接超时
          • @JasonG 你试过使用 mysql 工作台吗?还是只能使用 CLI?
          • workbench 不再在 MAC 上工作。我可以通过将其设为非私有来使其正常工作。
          【解决方案7】:
          1. 在 AWS 安全组上,打开 3306 以接收来自您的 机器
          2. 授予远程访问 MySQL 的权限 - 将 . 上的所有权限授予由“”标识的“@”,并带有授予选项; 刷新权限;
          3. 设置本地 MySQL Workbench - MySQLWorkbench 设置截图

          祝你好运!

          【讨论】:

            【解决方案8】:

            要通过 MySQL Workbench 连接 Mysql RDS,请尝试以下步骤。

            在windows cmd中输入:mysql -h -P 3306 -u -p [会提示输入密码] 如果安全组和用户名、密码正确,你会得到 mysql 对话框

            ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060) - 当没有入站规则时发生错误。

            始终尝试为 DB 维护一个新的安全组。

            如果选择默认安全组,则默认拒绝访问。

            安全组入站规则必须修改为 MYSQL/Aurora TCP 3306 MyIP

            它已连接。

            【讨论】:

              【解决方案9】:

              您可以简单地使用 aws 推荐的工作台,但让您在任何地方都可以使用所有 SSL 和 MYSQL/Aurora..同时将 MYSQL/Aurora 3306 添加到安全组

              https://aws.amazon.com/getting-started/tutorials/create-mysql-db/

              【讨论】:

                【解决方案10】:

                听起来您的问题是您需要设置入站规则以接受您的开发机器 IP。完成后,您可以使用 MySQL Workbench 连接到 MySQL RDS。

                【讨论】:

                  猜你喜欢
                  • 2015-05-16
                  • 2014-02-17
                  • 2020-04-08
                  • 2015-04-10
                  • 2016-10-13
                  • 2019-07-04
                  • 2018-11-29
                  • 1970-01-01
                  • 2013-10-08
                  相关资源
                  最近更新 更多