Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

与运行 MySQL 数据库引擎的数据库实例连接

在与运行 MySQL 数据库引擎的数据库实例进行连接之前,您必须首先创建数据库实例。有关信息,请参阅 创建运行 MySQL 数据库引擎的数据库实例。Amazon RDS 预置您的数据库实例后,您就可以使用标准 MySQL 客户端应用程序或实用工具与该实例连接。在连接字符串中,指定数据库实例终端节点中的 DNS 地址作为主机参数,并指定数据库实例终端节点中的端口号作为端口参数。

要对您的 RDS 数据库实例进行身份验证,可以使用一种适用于 MySQL 的身份验证方法和 IAM 数据库身份验证。

可以使用 AWS 管理控制台、AWS CLI describe-db-instances 命令或 Amazon RDS API DescribeDBInstances 操作列出 Amazon RDS 数据库实例的详细信息,包括其终端节点。如果终端节点值为 myinstance.123456789012.us-east-1.rds.amazonaws.com:3306,则需要在 MySQL 连接字符串中指定以下值:

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

  • 对于端口,请指定 3306

可以使用 MySQL 命令行实用工具等工具连接 Amazon RDS MySQL 数据库实例。有关使用 MySQL 实用工具的更多信息,请参阅 MySQL 文档中的 mysql - MySQL 命令行工具。您可以用来连接的一个基于 GUI 的应用程序是 MySQL Workbench。有关更多信息,请访问下载 MySQL Workbench 页面。

导致新数据库实例连接故障的两个常见原因是:

  • 创建数据库实例时所用的安全组无法授权连接运行 MySQL 应用程序或实用工具的设备或 Amazon EC2 实例。如果数据库实例是在 VPC 内部创建的,则该 VPC 必须包含可授权连接的 VPC 安全组。如果数据库实例是在 VPC 外部创建的,则该 VPC 必须包含可授权连接的数据库安全组。

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

您可以在连接 Amazon RDS MySQL 数据库实例时使用 SSL 加密功能。有关信息,请参阅 MySQL 数据库实例的 SSL 支持。要使用 IAM 数据库身份验证,您必须使用 SSL 连接。有关信息,请参阅 对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证

有关连接到 Amazon Aurora 数据库群集的信息,请参阅连接到 Amazon Aurora 数据库群集

有关连接到 MariaDB 数据库实例的信息,请参阅连接到运行 MariaDB 数据库引擎的数据库实例

从 MySQL 实用工具进行连接

要使用 MySQL 实用工具连接到数据库实例,请在命令提示符处键入以下命令来使用 MySQL 实用工具连接到数据库实例。将参数 -h 替换为数据库实例的 DNS 名称。将参数 -P 替换为数据库实例的端口。根据系统提示输入主用户密码。

mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

您会看到类似以下内容的输出。

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

使用 SSL 进行连接

在创建 数据库实例时,Amazon RDS 会为实例创建一个 SSL 证书。如果启用 SSL 证书验证,SSL 证书会将数据库实例终端节点作为 SSL 证书的公用名 (CN) 包含在内以防止欺诈攻击。要使用 SSL 连接您的数据库实例,可以使用本机密码身份验证或 IAM 数据库身份验证。要使用 IAM 数据库身份验证连接到数据库实例,请参阅对 MySQL 和 Amazon Aurora 使用 IAM 数据库身份验证。要使用本机密码身份验证连接到数据库实例,可以执行以下步骤:

使用 MySQL 实用工具连接使用 SSL 加密的数据库实例

  1. 可在此处下载适用于所有区域的根证书。

  2. 在命令提示符处键入以下命令,以便使用 MySQL 实用工具连接到使用 SSL 加密的数据库实例。将参数 -h 替换为数据库实例的 DNS 名称。将参数 --ssl-ca 替换为相应的 SSL 证书文件名。

    mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-cn-north-1-ca-certificate.pem
  3. 包括 --ssl-verify-server-cert 参数以使 SSL 连接根据 SSL 证书中的终端节点验证数据库实例终端节点。例如:

    针对 Linux、OS X 或 Unix:

    mysql \ -h myinstance.123456789012.us-east-1.rds.amazonaws.com \ --ssl-ca=rds-cn-north-1-ca-certificate.pem \ --ssl-verify-server-cert

    对于 Windows:

    mysql ^ -h myinstance.123456789012.us-east-1.rds.amazonaws.com ^ --ssl-ca=rds-cn-north-1-ca-certificate.pem ^ --ssl-verify-server-cert
  4. 根据系统提示输入主用户密码。

您会看到类似以下内容的输出。

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

最大 MySQL 连接数

允许的与 Amazon RDS MySQL 数据库实例的最大连接数基于可用于数据库实例的数据库实例类的内存量。可用于数据库实例类的内存量越大,允许的连接数就越多。有关数据库实例类的更多信息,请参阅数据库实例类

默认情况下,数据库实例的连接限制设置为数据库实例的数据库实例类的最大数量。您可以使用数据库实例的参数组中的 max_connections 参数将并行连接的数量限制为任何值 (不得超过连接的最大数量)。有关更多信息,请参阅 使用数据库参数组

您可以通过对数据库实例执行以下查询来检索 Amazon RDS MySQL 数据库实例允许的最大连接数:

SELECT @@max_connections;

您可以通过对数据库实例执行以下查询来检索与 Amazon RDS MySQL 数据库实例的活动连接的数量:

SHOW STATUS WHERE `variable_name` = 'Threads_connected';

相关主题