

# Amazon RDS 数据库实例
<a name="Overview.DBInstance"></a>

*数据库实例*是在云中运行的独立数据库环境。它是 Amazon RDS 的基本构建块。一个数据库实例可以包含多个由用户创建的数据库，并且可以使用与访问独立数据库实例相同的工具和应用程序进行访问。使用 AWS 命令行工具、Amazon RDS API 操作或 AWS 管理控制台，可以轻松地创建和修改数据库实例。

**注意**  
Amazon RDS 支持使用任何标准 SQL 客户端应用程序访问数据库。Amazon RDS 不支持直接访问主机，但使用 RDS Custom 除外。

您最多可以拥有 40 个 Amazon RDS 数据库实例，并且具有以下限制：
+ 每个 SQL Server 版本（Enterprise、Standard、Web 和 Express）具有 10 个处于“附带许可”模式的实例
+ Oracle 具有 10 个处于“附带许可”模式的实例
+ Db2 具有 40 个处于“自带许可”（BYOL）许可模式的实例
+ MySQL、MariaDB 或 PostgreSQL 具有 40 个实例
+ Oracle 具有 40 个处于“自带许可”(BYOL) 许可模式的实例

**注意**  
如果您的应用程序需要更多数据库实例，则可以使用[此表](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-rds-instances)来请求其他数据库实例。

每个数据库实例都有一个数据库实例标识符。在与 Amazon RDS API 和 AWS CLI 命令交互时，客户提供的名称可唯一标识数据库实例。对于 AWS 区域中的客户而言，数据库实例标识符必须具有唯一性。

数据库实例标识符是 RDS 分配给实例的 DNS 主机名的一部分。例如，如果将 `db1` 指定为数据库实例标识符，则 RDS 将自动为实例分配 DNS 端点。示例端点为 `db1.abcdefghijkl.us-east-1.rds.amazonaws.com`，其中 `db1` 是实例 ID。

在示例端点 `db1.abcdefghijkl.us-east-1.rds.amazonaws.com` 中，字符串 `abcdefghijkl` 是 AWS 区域和 AWS 账户的特定组合的唯一标识符。示例中的 `abcdefghijkl` 标识符由 RDS 在内部生成，对于指定的区域和账户组合不会发生变化。因此，您在该区域中的所有数据库实例都共享相同的固定标识符。考虑固定标识符的以下特征：
+ 如果您重命名数据库实例，则端点会有所不同，但固定标识符相同。例如，如果您将 `db1` 重命名为 `renamed-db1`，则新的实例端点为 `renamed-db1.abcdefghijkl.us-east-1.rds.amazonaws.com`。
+ 如果您删除并重新创建具有相同数据库实例标识符的数据库实例，则端点相同。
+ 如果您使用同一个账户在不同的区域创建数据库实例，则内部生成的标识符会有所不同，因为该区域不同，如在 `db2.mnopqrstuvwx.us-west-1.rds.amazonaws.com` 中。

每个数据库实例均支持数据库引擎。Amazon RDS 当前支持 Db2、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Server 和 Amazon Aurora 数据库引擎。

在创建数据库实例时，某些数据库引擎需要指定数据库名称。一个数据库实例可承载多个数据库，或一个带有多个架构的 Oracle 数据库。数据库名称值取决于数据库引擎：
+ 对于 Db2 数据库引擎，数据库名称是数据库实例中托管的数据库的名称。该字段是可选的。可以通过调用 `rdsadmin.create_database` 存储过程来创建数据库。有关更多信息，请参阅 [创建数据库](db2-managing-databases.md#db2-creating-database)。
+ 对于 MySQL 和 MariaDB 数据库引擎，数据库名称是数据库实例中托管的数据库的名称。由同一个数据库实例托管的数据库在此实例内必须有一个唯一的名称。
+ 对于 Oracle 数据库引擎，数据库名称用于设置 ORACLE\$1SID 值，连接 Oracle RDS 实例时必须提供此值。
+ 对于 Microsoft SQL Server 数据库引擎，数据库名称不是一个受到支持的参数。
+ 对于 PostgreSQL 数据库引擎，数据库名称是数据库实例中托管的数据库的名称。创建数据库实例时不需要数据库名称。由同一个数据库实例托管的数据库在此实例内必须有一个唯一的名称。

Amazon RDS 会为数据库实例创建一个主用户账户，这也是创建过程的一部分。此主用户具有创建数据库以及在主用户创建的表上执行创建、删除、选择、更新和插入操作的权限。创建数据库实例时，必须设置主用户密码，但可以使用 AWS CLI、Amazon RDS API 操作或AWS 管理控制台随时进行更改。还可以使用标准 SQL 命令更改主用户密码并管理用户。

**注意**  
该用户指南涵盖非 Aurora Amazon RDS 数据库引擎。有关使用 Amazon Aurora 的更多信息，请参阅 [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)。