连接到运行 MariaDB 数据库引擎的数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

连接到运行 MariaDB 数据库引擎的数据库实例

Amazon RDS 配置数据库实例后,您就可以使用标准 MariaDB 客户端应用程序或实用程序与该实例连接。在连接字符串中,可以将数据库实例端点中的域名系统 (DNS) 地址指定为主机参数。您还可以将数据库实例端点中的端口号指定为端口参数。

可以使用 MySQL 命令行客户端等工具连接 Amazon RDS for MariaDB 数据库实例。有关使用 MySQL 命令行的更多信息,请参阅 MariaDB 文档中的 mysql 命令行客户端。您可以使用 Heidi 这款基于 GUI 的应用程序进行连接。有关更多信息,请参阅下载 HeidiSQL 页面。有关安装 MySQL(包括 MySQL 命令行客户端)的信息,请参阅安装和升级 MySQL

大多数 Linux 发行版包括 MariaDB 客户端,而不是 Oracle MySQL 客户端。要在 Amazon Linux 2023 上安装 MySQL 命令行客户端,请运行以下命令:

sudo dnf install mariadb105

要在 Amazon Linux 2 上安装 MySQL 命令行客户端,请运行以下命令:

sudo yum install mariadb

要在大多数基于 DEB 的 Linux 发行版上安装 MySQL 命令行客户端,请运行以下命令。

apt-get install mariadb-client

要检查 MySQL 命令行客户端的版本,请运行以下命令。

mysql --version

要阅读当前客户端版本的 MySQL 文档,请运行以下命令。

man mysql

要从基于 Amazon VPC 的 Virtual Private Cloud (VPC) 外部连接到数据库实例,该数据库实例必须可公开访问。此外,必须使用数据库实例安全组的入站规则授予访问权限,并且必须满足其他要求。有关更多信息,请参阅无法连接到 Amazon RDS 数据库实例

可以在连接到 MariaDB 数据库实例时使用 SSL 加密功能。有关信息,请参阅 将 SSL/TLS 与 MariaDB 数据库实例结合使用

查找 MariaDB 数据库实例的连接信息

数据库实例的连接信息包括其端点、端口和有效数据库用户,如主用户。例如,假设端点值为 mydb.123456789012.us-east-1.rds.amazonaws.com。在这种情况下,端口值是 3306,数据库用户是 admin。鉴于此信息,您可以在连接字符串中指定以下值:

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

  • 对于端口,请指定 3306

  • 对于用户,请指定 admin

要连接到数据库实例,请使用 MariaDB 数据库引擎的任何客户端。例如,您可以使用 MySQL 命令行客户端或 MySQL Workbench。

要查找数据库实例的连接信息,您可以使用Amazon Web Services Management Console、Amazon Command Line Interface(Amazon CLI)describe-db-instances 命令,或 Amazon RDS API DescribeDBInstances 操作列出其详细信息。

在 Amazon Web Services Management Console 中查找数据库实例的连接信息
  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 数据库 以显示数据库实例的列表。

  3. 选择 MariaDB 数据库实例名称以显示其详细信息。

  4. 连接和安全性选项卡上,复制端点。另请注意端口号。您需要端点和端口号才能连接到数据库实例。

    数据库实例的端点和端口
  5. 如果需要查找主用户名,请选择 Configuration (配置) 选项卡并查看 Master username (主用户名) 值。

要使用 Amazon CLI 查找 MariaDB 数据库实例的连接信息,请调用 describe-db-instances 命令。在调用中,查询数据库实例 ID、端点、端口和主用户名。

对于 Linux、macOS 或 Unix:

aws rds describe-db-instances \ --filters "Name=engine,Values=mariadb" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

对于 Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mariadb" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

您的输出应类似于以下内容。

[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]

要使用 Amazon RDS API 查找数据库实例的连接信息,请调用 DescribeDBInstances 操作。在输出中,找到端点地址、端点端口和主用户名的值。

从 MySQL 命令行客户端连接(未加密)

重要

仅当客户端和服务器位于同一 VPC 中,并且网络受信任时,才会使用未加密的 MySQL 连接。有关使用加密连接的信息,请参阅 从 MySQL 命令行客户端使用 SSL/TLS(加密)进行连接

要使用 MySQL 命令行客户端连接到数据库实例,请在客户端计算机上的命令提示符处输入以下命令。执行此操作时,您将连接到 MariaDB 数据库实例上的数据库。将 <endpoint> 替换为数据库实例的 DNS 名称(端点);并替换用于 <mymasteruser> 的主用户名。提示输入密码时,提供所使用的主密码。

mysql -h <endpoint> -P 3306 -u <mymasteruser> -p

在输入用户的密码后,您将看到类似于以下内容的输出。

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)]>

使用 Amazon Web Services(Amazon)JDBC 驱动程序连接到 RDS for MariaDB

Amazon Web Services(Amazon)JDBC 驱动程序已重新设计为高级 JDBC 包装器。此包装器是对现有 JDBC 驱动程序各项功能的补充和扩展。该驱动程序与社区 MySQL Connector/J 驱动程序和社区 MariaDB Connector/J 驱动程序兼容。

要安装 Amazon JDBC 驱动程序,请附加 Amazon JDBC 驱动程序.jar 文件(位于应用程序 CLASSPATH 中),并保留对相应社区驱动程序的引用。按如下方式更新相应的连接 URL 前缀:

  • jdbc:mysql://jdbc:aws-wrapper:mysql://

  • jdbc:mariadb://jdbc:aws-wrapper:mariadb://

有关 Amazon JDBC 驱动程序的更多信息及其完整使用说明,请参阅 Amazon Web Services (Amazon) JDBC Driver GitHub repository

使用 Amazon Web Services(Amazon)Python 驱动程序连接到 RDS for MariaDB

Amazon Web Services(Amazon)驱动程序设计为高级 Python 包装器。这款包装器是对开源 Psycopg 驱动程序的各项功能的补充和扩展。Amazon Python 驱动程序支持 Python 3.8 及更高版本。您可以使用 pip 命令和 psycopg 开源软件包安装 aws-advanced-python-wrapper 程序包。

有关 Amazon JDBC 驱动程序的更多信息及其完整使用说明,请参阅 Amazon Web Services(Amazon)Python 驱动程序 GitHub 存储库

排除与 MariaDB 数据库实例的连接故障

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

  • 数据库实例是使用安全组创建的,而该安全组无法授权来自运行 MariaDB 应用程序或实用程序的设备或 Amazon EC2 实例的连接。数据库实例必须具有授权进行连接的 VPC 安全组。有关更多信息,请参阅Amazon VPC 和 Amazon RDS

    您可以在安全组中添加或编辑入站规则。对于 Source,选择 My IP。这允许从浏览器中检测到的 IP 地址访问数据库实例。

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

有关连接问题的更多信息,请参阅无法连接到 Amazon RDS 数据库实例