使用 SSL 连接到 Lightsail MySQL 数据库 - Amazon Lightsail

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

使用 SSL 连接到 Lightsail MySQL 数据库

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

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

有关托管数据库的 CA 证书、受支持的 AWS 区域 以及如何能够为应用程序下载中间证书的详细信息,请参阅为托管式数据库下载 SSL 证书

支持的连接

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

先决条件

使用 SSL 连接到 MySQL 数据库

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

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

  2. 输入以下命令之一,具体取决于 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
  3. 出现提示时,键入您在上一个命令中指定的数据库用户的密码,然后按 Enter

    您会看到类似于以下示例的结果:

    MySQL 数据库连接。
  4. 键入 status,然后按 Enter 以查看您的连接状态。

    如果您看到 SSL 旁边的值为“正在使用的密码是”,则表示您的连接已加密。

    MySQL 数据库连接状态。