在本地环境中连接 RDS 数据库

Posted

技术标签:

【中文标题】在本地环境中连接 RDS 数据库【英文标题】:Connect an RDS database on a local environment 【发布时间】:2019-10-10 06:55:00 【问题描述】:

我在 AWS 上的 Elastic Beanstalk 实例中有一个 Laravel 5.7 应用程序,我在本地使用 Ubuntu,并通过命令行和工匠修补程序连接到数据库。

本地和云端一切正常,数据库连接成功,允许我登录和注销。

现在,我想实际查看我的数据库内部,并从我的本地命令行进行一些查询,甚至可能在 RDS 数据库上使用 artisan tinker。

谁能解释我或将我重定向到一些关于如何将 aws rds 连接到我的本地计算机或直接为 aws 控制台管理命令行的教程?

谢谢

我希望能够将我的终端与我的 Elastic-Beanstalk 实例使用的 RDS 数据库连接起来,或者能够在 aws 上的终端上查看和工作(如果此服务存在)

【问题讨论】:

有很多方法可以做到这一点。一种是将您的 RDS 实例打开到您的本地 IP 地址。然后,您可以直接连接到相应的端口。另一种更安全、更复杂的方法是打开一个可以访问 RDS 的 EC2 节点。 我是AWS和RDS的新手,你能一步一步解释一下吗? 【参考方案1】:

请按照以下步骤操作:

    通过 SSH 连接到您的 EC2 实例(Beanstalk 实例)。 在您的 EC2 实例上安装 mysql 服务器。 请参阅 https://support.rackspace.com/how-to/installing-mysql-server-on-ubuntu/ 用于 MySQL 安装。 确认您是否在您的实例中启用了 MySQL 端口“3306” 安全组。 然后按照以下步骤连接到您的数据库。

要通过 CLI 连接到您的 RDS 实例,请使用以下命令:

mysql -u [DB instance identifier] -p -h Hostname

其中数据库实例标识符是您的数据库的用户名,并且 主机名是您的 RDS 实例的端点

执行此命令后,它会要求输入密码,您必须输入数据库的密码。

现在您将可以完全访问您的数据库。

【讨论】:

这是我得到的:ERROR 2003 (HY000): Can't connect to MySQL server on ... then the hostname 此答案省略了将 RDS 配置为可从外部访问的步骤。 我已经编辑了答案。请按照给定的步骤操作。 这是我最终使用的命令:mysql --host thisIsAnHost.eu-west-1.rds.amazonaws.com --port 3306 -u username -p

以上是关于在本地环境中连接 RDS 数据库的主要内容,如果未能解决你的问题,请参考以下文章

迁移 RDS for MySQL 数据到本地 MySQL

阿里云RDS恢复数据到本地上

RDS恢复数据到本地mysql(阿里云)

只有ECS时无法连接Golang中的RDS mysql

0808关于RDS如何恢复到本地教程

AWS Lambda 无法连接到 RDS 实例,但我可以在本地连接?