

# 教程：使用自定义参数和新选项组创建 MySQL 数据库实例
<a name="tutorial-creating-custom-OPG"></a>

在本教程中，您将使用自定义参数和新选项组，来创建 MySQL 数据库实例。有关自定义参数和选项组的更多信息，请参阅 [Amazon RDS 的参数组](USER_WorkingWithParamGroups.md) 和[使用选项组](USER_WorkingWithOptionGroups.md)。

**重要**  
创建 AWS 账户并不会收费；但是，在完成本教程过程中使用 AWS 资源可能会产生费用。完成本教程后，如果不再需要这些资源，可以将其删除。

要使用自定义配置和设置创建数据库实例，您可以使用自定义参数和选项组。如果您使用多个数据库并希望为实例集统一配置设置，则自定义参数和新选项组特别有用。

通过完成这些步骤，您将学习：
+ 如何使用 Amazon RDS，通过自定义参数和新选项组创建 MySQL 数据库实例。
+ 如何为 MySQL 数据库实例使用特定的参数和选项。

要完成本教程，请执行以下任务：

1. 使用 MySQL 参数 `default_password_lifetime` 和 `disconnect_on_expired_password` 创建一个自定义参数组。

1. 使用 MySQL 选项功能 `MariaDB Audit Plugin` 创建新的选项组。有关创建选项组的步骤，请参阅[使用选项组](USER_WorkingWithOptionGroups.md)。

1. 使用您创建的自定义参数组和新选项组创建 MySQL 数据库实例。

**Topics**
+ [先决条件](#tutorial-creating-custom-OPG.Prerequisites)
+ [创建 Amazon RDS参数组](#tutorial-creating-custom-OPG.create-parameter-group)
+ [修改自定义参数组中的参数值](#tutorial-creating-custom-OPG.add-parameters)
+ [创建新的 Amazon RDS 选项组](#tutorial-creating-custom-OPG.create-option-group)
+ [将选项添加到新选项组](#tutorial-creating-custom-OPG.add-options)
+ [使用自定义参数和新选项组创建 MySQL 数据库实例](#tutorial-creating-custom-OPG.create-OPG)

## 先决条件
<a name="tutorial-creating-custom-OPG.Prerequisites"></a>

本教程要求您拥有一个 AWS 账户和一个具有管理权限的用户。如果您还没有设置这些内容，请完成以下各节中的步骤：
+ [注册 AWS 账户](CHAP_SettingUp.md#sign-up-for-aws)
+ [创建具有管理访问权限的用户](CHAP_SettingUp.md#create-an-admin)

## 创建 Amazon RDS参数组
<a name="tutorial-creating-custom-OPG.create-parameter-group"></a>

在本教程中，您将了解如何在控制台中为 MySQL 数据库实例创建一个具有 [default\$1password\$1lifetime](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_password_lifetime) 和 [disconnect\$1on\$1expired\$1password](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_disconnect_on_expired_password) 的自定义参数组。`default_password_lifetime` 参数控制客户端密码自动过期之前的天数。`disconnect_on_expired_password` 参数控制密码到期后 MySQL 数据库实例是否断开与客户端的连接。有关可用于 MySQL 数据库实例的其它参数的更多信息，请参阅 [MySQL 的参数](Appendix.MySQL.Parameters.md)。

**创建参数组**

1. 打开 Amazon RDS 控制台，然后选择**参数组**。

1. 对于**自定义参数组**，选择**创建参数组**。

1. 设置参数组详细信息。

   1. 输入参数组的名称。

   1. 输入参数组的描述。

   1. 对于**引擎类型**，选择 **MySQL 社区**。

   1. 对于**参数组系列**，选择 **MySQL 8.0。**

1. 选择**创建**。

新的参数组将显示在 Amazon RDS 控制台的**参数组**页面上。以下步骤说明如何修改参数值以自定义参数组。

## 修改自定义参数组中的参数值
<a name="tutorial-creating-custom-OPG.add-parameters"></a>

使用以下步骤修改您在[创建 Amazon RDS参数组](#tutorial-creating-custom-OPG.create-parameter-group)中创建的参数组中的参数值。

**修改参数组中的参数值**

1. 打开 Amazon RDS 控制台，然后选择**参数组**。

1. 对于**自定义参数组**，请选择您创建的参数组的名称。

1. 选择**编辑**。

1. 在**筛选参数**搜索框中，搜索自定义参数 `default_password_lifetime`。

1. 选中参数旁边的复选框，并输入要为此密码生命周期参数设置的天数值。

1. 选择**保存更改**。

1. 对参数 ` disconnect_on_expired_password` 重复相同的步骤。当您选择此参数时，系统会提示您从下拉菜单中选择 0 或 1 的值。选择 1 可在密码过期时断开连接。

自定义参数组现在可以与 Amazon RDS for MySQL 8.0 数据库实例相关联。接下来，为数据库实例创建新选项组。

## 创建新的 Amazon RDS 选项组
<a name="tutorial-creating-custom-OPG.create-option-group"></a>

使用 [MariaDB 审计插件](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html)选项创建新选项组。此插件记录服务器活动以确保安全性和合规性。有关可用于 MySQL 数据库实例的其它自定义选项的更多信息，请参阅[适用于 MySQL 数据库实例的选项](Appendix.MySQL.Options.md)。

**创建选项组**

1. 打开 Amazon RDS 控制台，然后选择**选项组**。

1. 对于**选项组**，选择**创建组**。

1. 设置选项组详细信息。
   + 输入选项组的名称。
   + 输入选项组的描述。
   + 对于**引擎**，选择 **mysql**。
   + 对于**主要引擎版本**，选择 **8.0**。

1. 选择**创建**。

新的选项组将显示在 Amazon RDS 控制台的**选项组**页面上。以下步骤显示了如何将选项添加到选项组。

## 将选项添加到新选项组
<a name="tutorial-creating-custom-OPG.add-options"></a>

使用以下步骤将选项添加到您在[创建新的 Amazon RDS 选项组](#tutorial-creating-custom-OPG.create-option-group)中创建的新选项组。

**将选项添加到选项组**

1. 打开 Amazon RDS 控制台，然后选择**选项组**。

1. 对于**选项组**，选择您创建的选项组的名称。

1. 在**选项**下，选择**添加选项**。

1. 设置选项组详细信息。
   + 对于**选项名称**，选择选项 MariaDB 审计插件 **MARIADB\$1AUDIT\$1PLUGIN**。
   + 对于**选项设置**，使所有默认选项保持选中状态。
   + 对于**立即应用**，选择**是**。

1. 选择**创建选项**。

现在，新选项组应可用于所有关联的数据库实例。接下来，使用自定义参数和新选项组创建一个 MySQL 数据库实例。

## 使用自定义参数和新选项组创建 MySQL 数据库实例
<a name="tutorial-creating-custom-OPG.create-OPG"></a>

最后，使用您在前面的步骤中创建的自定义参数和新选项组，创建 MySQL 数据库实例。以下步骤显示了如何使用自定义参数和新选项组创建 MySQL 数据库实例。

**使用自定义参数和新选项组创建数据库实例**

1. 打开 Amazon RDS 控制台并选择**数据库**。

1. 选择**创建数据库**。

1. 对于**选择数据库创建方法**，选择**标准创建**。

1. 对于**引擎选项**，选择 **MySQL**。

1. 对于**可用性和耐久性**，选择**单个数据库实例**。此步骤是支持自定义参数或新选项组所必需的。

1. 选择**其它配置**。
   + 对于**初始数据库名称**，为数据库实例选择名称。
   + 在**数据库参数组**下拉列表中，选择您之前创建的自定义参数组的名称。
   + 在**选项组**下拉列表下，选择您之前创建的新选项组的名称。

1. 对于本教程，可以保留任何其它数据库设置的默认设置，也可以根据需要对其进行修改。

1. 选择**创建数据库**。

RDS 使用自定义参数和新选项组创建新的 MySQL 数据库实例。要查看有关此数据库的更多信息，请参阅 Amazon RDS 控制台的**数据库**页面。

在本教程中，您使用自定义参数和新选项组，通过定制的设置配置了 MySQL 数据库实例。这个新创建的 MySQL 数据库实例使用 `default_password_lifetime` 参数来管理用户密码生命周期。此数据库实例还使用参数 `disconnect_on_expired_password` 断开使用过期密码进行连接的用户。还可以使用选项 `MariaDB Audit Plugin` 来保持跟踪服务器活动。要优化数据库，可以在自定义参数组中应用其它设置并添加选项。

 创建完自定义数据库实例后，应删除资源，以免产生不必要的费用。要删除数据库实例，请按照[删除数据库实例](USER_DeleteInstance.md)中的说明操作。