创建并连接到 MySQL 数据库实例
本教程创建一个 EC2 实例和一个 RDS for MySQL 数据库实例。本教程向您展示如何使用标准 MySQL 客户端从 EC2 实例访问数据库实例。作为最佳实践,本教程在虚拟私有云(VPC)中创建了私有数据库实例。在大多数情况下,同一 VPC 中的其他资源(例如 EC2 实例)可以访问数据库实例,但 VPC 之外的资源无法访问该实例。
完成本教程后,VPC 的每个可用区中都有一个公有和私有子网。在一个可用区中,EC2 实例在公有子网中,数据库实例在私有子网中。
重要
创建 AWS 账户并不会收费;但是,在完成本教程过程中使用 AWS 资源可能会产生费用。完成本教程后,如果不再需要这些资源,可以将其删除。
下图显示了教程完成时的配置。

本教程使用轻松创建通过 AWS Management Console创建运行 MySQL 的数据库实例。借助 Easy create (轻松创建),您可以仅指定数据库引擎类型、数据库实例大小和数据库实例标识符。Easy create (轻松创建) 为其他配置选项使用默认设置。由轻松创建所创建的数据库实例是私有的。
如果使用标准创建而不是轻松创建,则在创建数据库实例时需要指定更多配置选项,包括用于可用性、安全性、备份和维护的选项。要创建公有数据库实例,必须使用标准创建。有关使用 Standard create (标准创建) 创建数据库实例的信息,请参阅 创建 Amazon RDS 数据库实例。
主题
先决条件
在开始之前,请完成以下各节中的步骤:
步骤 1:创建 EC2 实例
创建将用于连接到数据库的 Amazon EC2 实例。
创建 EC2 实例
登录到 AWS Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在 AWS Management Console的右上角,选择要在其中创建 EC2 实例的 AWS 区域。
-
选择 EC2 控制面板,然后选择启动实例,如下图所示。
启动实例页面打开。
-
在启动实例页面上选择以下设置。
-
在 Name and tags(名称和标签)下,对于 Name(名称),输入
ec2-database-connect
。 -
在应用程序和操作系统映像(Amazon 机器映像)下,选择 Amazon Linux,然后选择 Amazon Linux 2023 AMI。对于其他选项,保留原定设置选择。
-
在 Instance type(实例类型)下,选择 t2.micro。
-
在 Key pair (login) [密钥对(登录)] 下,选择 Key pair name(密钥对名称)以使用现有密钥对。要为 Amazon EC2 实例创建新的密钥对,请选择 Create new key pair(创建新的密钥对),然后使用 Create key pair(创建密钥对)窗口来创建它。
有关创建新的密钥对的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的创建密钥对。
-
对于网络设置中的允许 SSH 流量,选择 EC2 实例的 SSH 连接来源。
如果显示的 IP 地址对于 SSH 连接是正确的,您可以选择 My IP(我的 IP)。否则,您可以确定要用来通过 Secure Shell(SSH)连接到 VPC 中的 EC2 实例的 IP 地址。要确定您的公有 IP 地址,请在新的浏览器窗口或标签页中,使用 https://checkip.amazonaws.com
上的服务。IP 地址的示例为 192.0.2.1/32。 在许多情况下,您可能通过互联网服务提供商(ISP)进行连接,或者在不使用静态 IP 地址的情况下从防火墙之后进行连接。如果是这样,请确保确定客户端计算机使用的 IP 地址范围。
警告
如果您使用
0.0.0.0/0
进行 SSH 访问,则所有 IP 地址可能能够使用 SSH 访问您的公有 EC2 实例。在测试环境下短时间内,此方法尚可接受,但它对于生产环境并不安全。在生产环境中,将仅向特定 IP 地址或地址范围授权使用 SSH 访问您的 EC2 实例。下图显示了网络设置部分的示例。
-
对于其余部分保留原定设置值。
-
查看摘要面板中您的 EC2 实例配置的摘要,当您准备好后,选择启动实例。
-
-
在启动状态页面上,记下新 EC2 实例的标识符,例如:
i-1234567890abcdef0
。 -
选择 EC2 实例标识符以打开 EC2 实例列表,然后选择您的 EC2 实例。
-
在详细信息选项卡中,记下使用 SSH 进行连接时所需的以下值:
-
在实例摘要中,记下公有 IPv4 DNS 的值。
-
在实例详细信息中,记下密钥对名称的值。
-
-
等待 EC2 实例的实例状态变为正在运行,然后继续。
步骤 2:创建 MySQL 数据库实例
Amazon RDS 的基本构建基块是数据库实例。这是您将要在其中运行 MySQL 数据库的环境。
在该示例中,您使用轻松创建创建一个数据库实例,它运行带有 db.t3.micro 数据库实例类的 MySQL 数据库引擎。
在启用“Easy create (轻松创建)”的情况下创建 MySQL 数据库实例
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 在 Amazon RDS 控制台的右上角,选择以前用于 EC2 实例的 AWS 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择 Create database (创建数据库),并确保已选择 Easy create (轻松创建)。
-
在配置中,选择 MySQL。
-
对于数据库实例大小,选择免费套餐。
-
对于 DB instance identifier(数据库实例标识符),输入
database-test1
。 -
对于主用户名,输入主用户的名称,或者保留原定设置名称。
创建数据库页面应类似于以下图像。
-
要为数据库实例使用自动生成的主密码,请选择自动生成密码。
要输入主密码,请确保清除自动生成密码,然后在主密码和确认密码中输入相同的密码。
-
要设置与您之前创建的 EC2 实例的连接,请打开设置 EC2 连接 - 可选。
选择连接到 EC2 计算资源。选择您之前创建的 EC2 实例。
-
(可选)打开查看轻松创建的默认设置。
您可以检查在启用 Easy create (轻松创建) 时使用的默认设置。可在创建数据库后编辑列显示在创建数据库后可以更改的选项。
-
如果该列中的某个设置为否,而您想要不同的设置,则可以使用标准创建来创建数据库实例。
-
如果某个设置在该列中为是,您可以使用标准创建来创建数据库实例,也可以在创建后修改数据库实例以更改该设置。
-
-
选择 Create database(创建数据库)。
要查看数据库实例的主用户名和密码,请选择查看凭证详细信息。
您可以使用显示的用户名和密码,以主用户身份连接到数据库实例。
重要
您无法再次查看主用户密码。如果您不记录它,您可能需要更改它。
如果需要在数据库实例可用后更改主用户密码,则可以修改数据库实例以执行此操作。有关修改 数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例。
-
在数据库列表中,选择新的 MySQL 数据库实例的名称以显示其详细信息。
数据库实例具有正在创建状态,直到此实例就绪可供使用。
当状态变为 Available(可用)时,您便可以连接到该数据库实例。根据数据库实例类和存储量,新实例可能需要等待 20 分钟时间才可用。
步骤 3:连接到 MySQL 数据库实例
您可以使用任何标准 SQL 客户端应用程序连接到数据库实例。在该示例中,您使用 mysql 命令行客户端连接到 MySQL 数据库实例。
连接到 MySQL 数据库实例
-
找到您的数据库实例的终端节点(DNS 名称)和端口号。
-
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 在 Amazon RDS 控制台的右上角,选择数据库实例的 AWS 区域。
-
在导航窗格中,选择 Databases (数据库)。
-
选择 MySQL 数据库实例名称以显示其详细信息。
-
在连接和安全性选项卡上,复制终端节点。另请注意端口号。您需要终端节点和端口号才能连接到数据库实例。
-
-
按照《适用于 Linux 实例的 Amazon EC2 用户指南》的连接到您的 Linux 实例中的步骤,连接到您之前创建的 EC2 实例。
我们建议您使用 SSH 连接到 EC2 实例。如果 SSH 客户端实用程序安装在 Windows、Linux 或 Mac 上,则可以使用以下命令格式连接到该实例:
ssh -i
location_of_pem_file
ec2-user@ec2-instance-public-dns-name
例如,假设在 Linux 上
ec2-database-connect-key-pair.pem
存储在/dir1
中,而 EC2 实例的公有 IPv4 DNS 为ec2-12-345-678-90.compute-1.amazonaws.com
。SSH 命令将如下所示:ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
通过更新 EC2 实例上的软件,获取最新的错误修复和安全更新。要执行此操作,请使用以下命令。
注意
-y
选项安装更新时不提示确认。要在安装前检查更新,请忽略该选项。sudo dnf update -y
-
要在 Amazon Linux 2023 上安装 MariaDB 中的 mysql 命令行客户端,请运行以下命令:
sudo dnf install mariadb105
-
连接到 MySQL 数据库实例。例如,输入以下命令。此操作可让您使用 MySQL 客户端连接到 MySQL 数据库实例。
将
替换为数据库实例端点(DNS 名称),并替换用于endpoint
的主用户名。提示输入密码时,提供所使用的主密码。admin
mysql -h
endpoint
-P 3306 -uadmin
-p在输入用户的密码后,您应该会看到类似于以下内容的输出。
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 3082 Server version: 8.0.28 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>
有关连接到数据库实例的更多信息,请参阅连接到运行 MySQL 数据库引擎的数据库实例。如果您无法连接到数据库实例,请参阅 无法连接到 Amazon RDS 数据库实例。
出于安全考虑,最佳做法是使用加密连接。仅当客户端和服务器位于同一 VPC 中,并且网络受信任时,才会使用未加密的 MySQL 连接。有关使用加密连接的信息,请参阅 从 MySQL 命令行客户端使用 SSL/TLS(加密)进行连接。
-
运行 SQL 命令。
例如,以下 SQL 命令显示了当前日期和时间:
SELECT CURRENT_TIMESTAMP;
步骤 4:删除 EC2 实例和数据库实例
在连接到并浏览您创建的示例 EC2 实例和数据库实例之后,删除它们,以便不再为其付费。
删除 EC2 实例
登录到 AWS Management Console 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
在导航窗格中,选择实例。
-
选择 EC2 实例,然后依次选择实例状态、终止实例。
-
当系统提示您确认时,选择终止。
有关删除 EC2 实例的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的终止实例。
删除无最终数据库快照的数据库实例
登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/
。 -
在导航窗格中,选择 Databases (数据库)。
-
选择要删除的数据库实例。
-
对于 Actions,选择 Delete。
-
清除是否创建最终快照?和保留自动备份。
-
完成确认并选择删除。
(可选)将您的数据库实例连接到 Lambda 函数
您也可以将您的 RDS for MySQL 数据库实例连接到 Lambda 无服务器计算资源。Lambda 函数支持在不预调配或管理基础设施的情况下运行代码。Lambda 函数还支持自动响应任何规模的代码执行请求,从每天十几个事件到每秒数百个事件。有关更多信息,请参阅自动连接 Lambda 函数和数据库实例。