Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

连接到 Amazon Aurora 数据库集群

您可使用用于连接到 MySQL 或 PostgreSQL 数据库的同一工具来连接到 Amazon Aurora 数据库集群中的数据库实例。在连接过程中,您使用相同的公有密钥进行安全套接字层 (SSL) 连接。您可以在连接到 MySQL 或 PostgreSQL 数据库实例的任何脚本、实用程序或应用程序的连接字符串中,使用来自 Aurora 数据库集群中的主实例或 Aurora 副本的终端节点和端口信息。在连接字符串中,指定主实例或 Aurora 副本终端节点中的 DNS 地址作为主机参数。指定该终端节点中的端口号作为端口参数。

连接到 Amazon Aurora MySQL 数据库集群

要对您的 Aurora MySQL 数据库集群进行身份验证,您可以使用 MySQL 用户名和密码身份验证或 AWS Identity and Access Management (IAM) 数据库身份验证。有关使用 MySQL 用户名和密码身份验证的更多信息,请参阅 MySQL 文档中的用户账户管理。有关使用 IAM 数据库身份验证的更多信息,请参阅 对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证

在连接到与 MySQL 5.6 兼容的 Amazon Aurora 数据库集群时,您可以执行与 MySQL 版本 5.6 兼容的 SQL 命令。有关 MySQL 5.6 SQL 语法的更多信息,请参阅 MySQL 5.6 参考手册

在连接到与 MySQL 5.7 兼容的 Amazon Aurora 数据库集群时,您可以执行与 MySQL 版本 5.7 兼容的 SQL 命令。有关 MySQL 5.7 SQL 语法的更多信息,请参阅 MySQL 5.7 参考手册。有关适用于 Aurora MySQL 5.7 的限制的信息,请参阅 比较 Aurora MySQL 5.7 和 MySQL 5.7

注意

要获得有关连接到 Amazon Aurora MySQL 数据库集群的帮助性详细指南,您可参阅 RDS Aurora 连接

在数据库集群的详细信息视图中,您可以找到集群终端节点,可在 MySQL 连接字符串中使用此终端节点。该终端节点由数据库集群的域名和端口组成。例如,如果终端节点值为 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306,则需要在 MySQL 连接字符串中指定以下值:

  • 对于主机或主机名,请指定 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • 对于端口,请指定 3306 或在创建数据库集群时使用的端口值

集群终端节点将您连接到数据库集群的主实例。可使用集群终端节点执行读取和写入操作。数据库集群还可以具有最多 15 个 Aurora 副本,这些副本支持对数据库集群中的数据进行只读访问。主实例和每个 Aurora 副本具有唯一的终端节点,该终端节点独立于集群终端节点,允许您直接连接到集群中的特定数据库实例。集群终端节点始终指向主实例。如果主实例发生故障并被替换,则集群终端节点将指向新的主实例。

要查看集群终端节点,请在 Amazon RDS 控制台中选择集群,然后选择数据库集群以显示数据库集群详细信息。

 Amazon Aurora 启动数据库实例向导创建 Aurora 副本数据库实例

连接实用程序

以下是您可使用的一些连接实用程序:

  • 命令行 – 可以使用 MySQL 命令行实用程序等工具连接到 Amazon Aurora 数据库集群。有关使用 MySQL 实用程序的更多信息,请参阅 MySQL 文档中的 mysql - MySQL 命令行工具

  • GUI – 可以使用 MySQL Workbench 实用程序通过 UI 接口进行连接。有关更多信息,请参阅下载 MySQL Workbench 页。

  • 应用程序 – 您可以使用 MariaDB Connector/J 实用程序将应用程序连接到 Aurora 数据库集群。有关更多信息,请参阅 MariaDB Connector/J 下载页面。

可以在连接到 Amazon Aurora 数据库实例时使用 SSL 加密功能。有关信息,请参阅 对 MySQL 数据库实例使用 SSL

注意

由于只能在 Amazon Virtual Private Cloud (VPC) 中创建 Amazon Aurora 数据库集群,因此,需要与未在 VPC 中的 AWS 实例的 Amazon Aurora 数据库集群连接才能使用 Amazon Aurora 数据库集群的公有终端节点地址。不过,您现在可使用 ClassicLink 与不在 VPC 中的 Amazon EC2 实例和 Amazon Aurora 数据库集群进行通信。有关更多信息,请参阅 VPC 中的数据库实例由不在 VPC 中的 EC2 实例访问

使用 SSL 进行连接

要使用 SSL 进行连接,请使用以下过程中所述的 MySQL 实用程序。要使用 IAM 数据库身份验证,您必须使用 SSL 连接。有关信息,请参阅 对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证

注意

要使用 SSL 连接到集群终端节点,您的客户端连接实用程序必须支持主题替代名称 (SAN)。如果您的客户端连接实用程序不支持 SAN,则可以直接连接到 Aurora 数据库集群中的实例。有关 Aurora 终端节点的更多信息,请参阅Aurora 终端节点

使用 MySQL 实用程序连接使用 SSL 加密的数据库集群

  1. https://s3.amazonaws.com.cn/rds-downloads/rds-combined-ca-bundle.pem 上下载 Amazon RDS 签名证书的公有密钥。执行此操作将下载名为 rds-combined-ca-bundle.pem 的文件。

  2. 在命令提示符处键入以下命令,以便使用 MySQL 实用程序连接到带 SSL 的数据库集群的主实例。将参数 -h 替换为主实例的终端节点 DNS 名称。将参数 -ssl_ca 替换为相应的 SSL 证书文件名。根据系统提示键入主用户密码。

    mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

您应该可以看到类似于如下所示的输出内容。

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.6.10-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

对于有关构建 Amazon RDS MySQL 连接字符串和查找 SSL 连接的公有密钥的一般指导,请参阅与运行 MySQL 数据库引擎的数据库实例连接

连接到 Amazon Aurora PostgreSQL 数据库集群

您可使用用于连接到 PostgreSQL 数据库的同一工具来连接到 Amazon Aurora PostgreSQL 数据库集群中的数据库实例。在连接过程中,您使用相同的公有密钥进行安全套接字层 (SSL) 连接。您可以在连接到 PostgreSQL 数据库实例的任何脚本、实用程序或应用程序的连接字符串中,使用来自 Aurora PostgreSQL 数据库集群中的主实例或 Aurora 副本的终端节点和端口信息。在连接字符串中,指定主实例或 Aurora 副本终端节点中的 DNS 地址作为主机参数。指定该终端节点中的端口号作为端口参数。

在连接到 Amazon Aurora PostgreSQL 数据库集群中的数据库实例时,您可以运行与 PostgreSQL 版本 9.6.3 兼容的任何 SQL 命令。

有关连接到 Amazon Aurora 数据库集群的辅助详细指南,请参阅 RDS Aurora 连接

您可以在 Aurora PostgreSQL 数据库集群详细信息视图中找到集群终端节点。请在您的 PostgreSQL 连接字符串中使用这个终端节点。该终端节点由数据库集群的域名和端口组成。例如,如果终端节点值为 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:5432,则需要在 PostgreSQL 连接字符串中指定以下值:

  • 对于主机或主机名,请指定 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • 对于端口,请指定 5432 或在创建数据库集群时使用的端口值

集群终端节点将您连接到数据库集群的主实例。可使用集群终端节点执行读取和写入操作。数据库集群还可以具有最多 15 个 Aurora 副本,这些副本支持对数据库集群中的数据进行只读访问。主实例和每个 Aurora 副本分别具有唯一的终端节点,该终端节点独立于集群终端节点。这个唯一的终端节点允许您与集群中特定的数据库实例直接连接。集群终端节点始终指向主实例。如果主实例发生故障并被替换,集群终端节点将指向新的主实例。

要查看集群终端节点,请在 Amazon RDS 控制台中选择集群,然后单击数据库集群以显示数据库集群详细信息。

 Amazon Aurora 启动数据库实例向导创建 Aurora 副本数据库实例

连接实用程序

以下是您可使用的一些连接实用程序:

  • 命令行 – 您可以使用 psql、PostgreSQL 交互式终端等工具连接到 Amazon Aurora PostgreSQL 数据库实例。有关使用 PostgreSQL 交互式终端的更多信息,请参阅 PostgreSQL 文档中的 psql

  • GUI – 您可以使用 pgAdmin 实用程序通过 UI 接口连接到 PostgreSQL 数据库实例。有关更多信息,请参阅 pgAdmin 网站中的下载页面。

  • 应用程序 – 您可以使用 PostgreSQL JDBC 驱动程序将应用程序连接到 PostgreSQL 数据库实例。有关更多信息,请参阅 PostgreSQL JDBC 驱动程序网站中的下载页面。

注意

由于只能在 Amazon Virtual Private Cloud (VPC) 中创建 Amazon Aurora PostgreSQL 数据库集群,因此,需要与未在 VPC 中的 AWS 实例的 Aurora PostgreSQL 数据库集群连接才能使用 Aurora PostgreSQL 数据库集群的公有终端节点地址。不过,您现在可使用 ClassicLink 与不在 VPC 中的 Amazon EC2 实例和 Aurora PostgreSQL 数据库集群进行通信。有关更多信息,请参阅 VPC 中的数据库实例由不在 VPC 中的 EC2 实例访问

修复 Aurora 连接故障

注意

有关连接到 Amazon Aurora 数据库集群的辅助详细指南,您可参阅 RDS Aurora 连接

导致新 Aurora 数据库集群连接故障的常见原因如下所示:

  • 已使用不允许从您的设备进行连接的 VPC 创建数据库集群。要修复此故障,请修改 VPC 以允许从您的设备进行连接,或者创建允许从您的设备进行连接的数据库集群的新 VPC。有关示例,请参阅创建 VPC 和子网

  • 数据库集群是使用默认端口创建的,而您公司的防火墙规则不允许公司网络中的设备连接到该端口。要修复此故障,请重新创建使用不同端口的实例。

  • 要使用 IAM 数据库身份验证,您可能需要对其进行配置。有关信息,请参阅 对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证

相关主题