【发布时间】:2023-04-07 13:06:01
【问题描述】:
我正在尝试将位于我的 VPS 上的现有 mysql 数据库传输到 AWS RDS。
我已经设置了 RDS,我可以通过 ssh 连接到我的一个 ec2 实例并使用以下命令来很好地连接到服务器:
mysql -uuser -p -hxx.xx.us-west-2.rds.amazonaws.com
但是,当我尝试从我的 VPS(通过 ssh)连接时,我收到一个错误 2003,我认为这是权限被拒绝。
我如何设置我的安全组似乎并不重要。我将入站设置为允许来自我的服务器 ip 的端口 3306,但这不起作用,我什至尝试在我的入站规则中允许来自任何地方的所有端口上的所有流量,但我仍然无法连接。出站一直是完全开放的。
如果有人能看到我遗漏的任何东西,我将非常感谢您的帮助。
谢谢。
【问题讨论】:
-
您使用的是RDS,还是安装在EC2机器上的mysql?这是两件不同的事情,你似乎把它们弄混了。您可以在 EC2 机器上允许“所有端口上的所有流量”,但不允许 RDS(另一个安全组或 CIDR/IP)。
-
我正在使用 rds。 EC2 上没有数据库,但 EC2 实例上的应用程序将使用数据库的 RDS。我有一个想要从我的 VPS 转移到 RDS 的现有数据库。在我允许安全组中所有端口上的所有流量(安全组用于 RDS 而不是 EC2)之前,我曾尝试只允许我的 CIDR/IP。这不成功。
-
根据下面的答案,确保您 1) 使用创建实例时提供的主机字符串、用户和数据库 2) 将 EC2 安全组添加到 RDS 安全组 3) 可能转储将数据库从您的 VPS 传输到 EC2 机器,然后从那里将其导入 RDS。
标签: mysql amazon-web-services ssh amazon-ec2 amazon-rds