

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 SSL/TLS 安全地连接到 Lightsail MySQL 数据库
<a name="amazon-lightsail-connecting-to-mysql-database-using-ssl"></a>

Amazon Lightsail 会创建 SSL 证书，并在预配置后将其安装在你的 MySQL 托管数据库上。证书由证书颁发机构 (CA) 签名，并且包括数据库终端节点作为 SSL 证书的公用名 (CN)，以防止欺骗攻击。

由 Lightsail 创建的 SSL 证书是可信的根实体，在大多数情况下应该可以使用，但是如果您的应用程序不接受证书链，则可能会失败。如果您的应用程序不接受证书链，则您可能需要使用中间证书才能连接到您的 AWS 区域。

有关托管数据库的 CA 证书、受支持的 AWS 区域以及如何能够为应用程序下载中间证书的详细信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 支持的连接
<a name="mysql-ssl-supported-connections"></a>

MySQL 在以下版本中使用 yaSSL 进行安全连接：
+ MySQL 5.7.19 和更早的 5.7 版本
+ MySQL 5.6.37 和更早的 5.6 版本
+ MySQL 5.5.57 和更早的 5.5 版本

MySQL 在以下版本中使用 OpenSSL 进行安全连接：
+ MySQL 8.0 版
+ MySQL 5.7.21 和更高的 5.7 版本
+ MySQL 5.6.39 和更高的 5.6 版本
+ MySQL 5.5.59 和更高的 5.5 版本

MySQL 托管数据库支持传输层安全性 (TLS) 版本 1.0、1.1 和 1.2。以下列表显示了各个 MySQL 版本的 TLS 支持情况：
+ MySQL 8.0— TLS1 .0、TLS 1.1 和 TLS 1.2
+ MySQL 5.7 — TLS1 .0 和 TLS 1.1。只有 MySQL 5.7.21 及更高版本支持 TLS 1.2。
+ MySQL 5.6 — TLS1 .0
+ MySQL 5.5— TLS1 .0

## 先决条件
<a name="connecting-to-mysql-ssl-prerequisites"></a>
+ 将 MySQL 服务器安装到用于连接数据库的计算机上。有关详细信息，请参阅 MySQL 网站中的 [MySQL 社群服务器下载](https://dev.mysql.com/downloads/mysql/)。
+ 为您的数据库下载相应的证书。有关信息，请参阅[为托管式数据库下载 SSL 证书](amazon-lightsail-download-ssl-certificate-for-managed-database.md)。

## 使用 SSL 连接到 MySQL 数据库
<a name="connect-to-your-mysql-database-using-ssl"></a>

要使用 SSL 连接到 MySQL 数据库，请完成以下步骤。

1. 打开终端或命令提示符窗口。

1. 输入以下命令之一，具体取决于 MySQL 数据库的版本：
   + 输入以下命令以连接到 MySQL 5.7 或更高版本的数据库。

     ```
     mysql -h {{DatabaseEndpoint}} --ssl-ca={{/path/to/certificate/rds-combined-ca-bundle.pem}} --ssl-mode=VERIFY_IDENTITY -u {{UserName}} -p
     ```

     在该命令中，将：
     + {{DatabaseEndpoint}}使用数据库的终端节点。
     + {{/path/to/certificate/rds-combined-ca-bundle.pem}}使用您下载和保存数据库证书的本地路径。
     + {{UserName}}使用数据库的用户名。

     **示例**：

     ```
     mysql -h {{ls-1c51a7c70a4fb55e542829a4e4e0d735ba42.czowadgeezqi.us-west-2.rds.amazonaws.com}} --ssl-ca={{/home/ec2-user/rds-combined-ca-bundle.pem}} --ssl-mode=VERIFY_IDENTITY -u {{dbmasteruser}} -p
     ```
   + 输入以下命令以连接到 MySQL 6.7 或更早版本的数据库。

     ```
     mysql -h {{DatabaseEndpoint}} --ssl-ca={{/path/to/certificate/rds-combined-ca-bundle.pem}} --ssl-verify-server-cert -u {{UserName}} -p
     ```

     在该命令中，将：
     + {{DatabaseEndpoint}}使用数据库的终端节点。
     + {{/path/to/certificate/rds-combined-ca-bundle.pem}}使用您下载和保存数据库证书的本地路径。
     + {{UserName}}使用数据库的用户名。

     **示例**：

     ```
     mysql -h {{ls-1c51a7c70a4fb55e542829a4e4e0d735ba42.czowadgeezqi.us-west-2.rds.amazonaws.com}} --ssl-ca={{/home/ec2-user/rds-combined-ca-bundle.pem}} --ssl-verify-server-cert -u {{dbmasteruser}} -p
     ```

1. 出现提示时，键入您在上一个命令中指定的数据库用户的密码，然后按 **Enter**。

   您会看到类似于以下示例的结果：  
![MySQL 数据库连接。](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-ssl-connection.png)

1. 键入 **status**，然后按 **Enter** 以查看您的连接状态。

   如果您看到 SSL 旁边的值为“正在使用的密码是”，则表示您的连接已加密。  
![MySQL 数据库连接状态。](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-mysql-ssl-status.png)