从 MySQL 命令行客户端使用 SSL/TLS 连接到 Amazon RDS 上的 MariaDB 数据库实例(已加密) - Amazon Relational Database Service

从 MySQL 命令行客户端使用 SSL/TLS 连接到 Amazon RDS 上的 MariaDB 数据库实例(已加密)

如果您使用的是 MySQL 5.7 版本、MySQL 8.0 版本或 MariaDB 版本,则 mysql 客户端程序参数略有不同。

要查看使用的版本,请使用 --version 选项运行 mysql 命令。在以下示例中,结果显示客户端程序来自 MariaDB。

$ mysql --version mysql Ver 15.1 Distrib 10.5.15-MariaDB, for osx10.15 (x86_64) using readline 5.1

大多数 Linux 发行版(例如 Amazon Linux、CentOS、SUSE 和 Debian)都用 MariaDB 取代了 MySQL,mysql 版本来自 MariaDB。

要使用 SSL/TLS 连接到数据库实例,请执行以下步骤:

使用 MySQL 命令行客户端连接到使用 SSL/TLS 加密的数据库实例
  1. 下载适用于所有 AWS 区域的根证书。

    有关下载证书的信息,请参阅 使用 SSL/TLS 加密与数据库实例或集群的连接

  2. 使用 MySQL 命令行客户端,通过 SSL/TLS 加密连接到数据库实例。对于 -h 参数,替换为数据库实例的 DNS 名称(端点)。对于 --ssl-ca 参数,替换为 SSL/TLS 证书文件名。对于 -P 参数,替换为数据库实例的端口。对于 -u 参数,替换为有效数据库用户(如主用户)的用户名。根据系统提示输入主用户密码。

    以下示例说明了如何在 MariaDB 客户端和更高版本中使用 --ssl-ca 参数启动客户端。

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl -P 3306 -u myadmin -p

    如果要求 SSL/TLS 连接对照 SSL/TLS 证书中的端点验证数据库实例端点,请输入以下命令:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-verify-server-cert -P 3306 -u myadmin -p

    以下示例说明了如何在 MySQL 5.7 和更高版本中使用 --ssl-ca 参数启动客户端。

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-mode=REQUIRED -P 3306 -u myadmin -p
  3. 根据系统提示输入主用户密码。

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

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.6.10-MariaDB-log 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. MariaDB [(none)]>