

# 比较 Aurora MySQL 版本 8.4 和 MySQL 8.4 社群版
<a name="AuroraMySQL.Compare-v84-community"></a>

本主题介绍 Aurora MySQL 版本 8.4 和 MySQL 8.4 社区版之间的区别。

**Topics**
+ [身份验证](#AuroraMySQL.Compare-v84-community.auth)
+ [预留用户](#AuroraMySQL.Compare-v84-community.reserved-users)
+ [rds\_superuser\_role](#AuroraMySQL.Compare-v84-community.rds-superuser)
+ [Aurora MySQL 8.4 版中支持的密码验证组件](#AuroraMySQL.Compare-v84-community.validate-password)
+ [参数默认更改](#AuroraMySQL.Compare-v84-community.parameters)

## 身份验证
<a name="AuroraMySQL.Compare-v84-community.auth"></a>

Aurora MySQL 8.4 版本仅支持 `authentication_policy` 参数的以下值：
+ `*:caching_sha2_password`（默认值。允许任何单重身份验证插件，如果未指定，则使用 `caching_sha2_password`）
+ `*:mysql_native_password`（允许任何单重身份验证插件，如果未指定，则使用 `mysql_native_password`）

**注意**  
Aurora MySQL 不支持多重身份验证配置。

## 预留用户
<a name="AuroraMySQL.Compare-v84-community.reserved-users"></a>

Aurora MySQL 预留了特定用户名以用于内部功能。这些用户名不能用于您的数据库用户账户。有关更多信息，请参阅 [Aurora MySQL 中的预留用户](AuroraMySQL.Security.md#AuroraMySQL.Security.ReservedUsers)。

从 Aurora MySQL 版本 8.4.7 开始，引擎保护 `rdsproxyadmin`，因为这是 RDS 代理的监控用户。注册代理目标时，Aurora 会自动创建 `rdsproxyadmin` 账户。有关被拒绝的操作和错误输出的详细信息，请参阅 [Aurora MySQL 中的预留用户](AuroraMySQL.Security.md#AuroraMySQL.Security.ReservedUsers)。

## rds\_superuser\_role
<a name="AuroraMySQL.Compare-v84-community.rds-superuser"></a>

Aurora MySQL 版本 8.4 包括一个具有以下所有权限的特殊角色。该角色命名为 `rds_superuser_role`。每个集群的主用户已经授予了此角色。`rds_superuser_role` 角色包括所有数据库对象的以下权限：
+ `ALTER`
+ `ALLOW_NONEXISTENT_DEFINER`
+ `APPLICATION_PASSWORD_ADMIN`
+ `ALTER ROUTINE`
+ `CONNECTION_ADMIN`
+ `CREATE`
+ `CREATE ROLE`
+ `CREATE ROUTINE`
+ `CREATE TEMPORARY TABLES`
+ `CREATE USER`
+ `CREATE VIEW`
+ `DELETE`
+ `DROP`
+ `DROP ROLE`
+ `EVENT`
+ `EXECUTE`
+ `FLUSH_OPTIMIZER_COSTS`
+ `FLUSH_PRIVILEGES`
+ `FLUSH_STATUS`
+ `FLUSH_TABLES`
+ `FLUSH_USER_RESOURCES`
+ `INDEX`
+ `INSERT`
+ `LOCK TABLES`
+ `OPTIMIZE_LOCAL_TABLE`
+ `PROCESS`
+ `REFERENCES`
+ `RELOAD`
+ `REPLICATION CLIENT`
+ `REPLICATION SLAVE`
+ `ROLE_ADMIN`
+ `SELECT`
+ `SET_ANY_DEFINER`
+ `SHOW DATABASES`
+ `SHOW_ROUTINE`
+ `SHOW VIEW`
+ `TRIGGER`
+ `UPDATE`
+ `XA_RECOVER_ADMIN`

## Aurora MySQL 8.4 版中支持的密码验证组件
<a name="AuroraMySQL.Compare-v84-community.validate-password"></a>
+ 支持 `validate_password` 组件，包括其定制设置。该组件通过数据库参数 `aurora_enable_validate_password_component` 管理，而不是使用 `INSTALL COMPONENT` 和 `UNINSTALL COMPONENT` 命令。
+ `validate_password` 插件部分受支持，以便能够迁移到该组件。

有关更多信息，请参阅 [Aurora MySQL 中的密码策略和密码验证](AuroraMySQL.PasswordPolicies.md)。

## 参数默认更改
<a name="AuroraMySQL.Compare-v84-community.parameters"></a>

### temptable\_max\_mmap
<a name="AuroraMySQL.Compare-v84-community.temptable-max-mmap"></a>

在 MySQL 8.4 社区版中，`temptable_max_mmap` 的默认值为 `0`，这会禁用内存映射的临时表。

Aurora MySQL 版本 8.4.7 及更高版本会覆盖此默认值。Aurora 使用以下公式，将 `temptable_max_mmap` 设置为根据集群分配的存储空间计算得出的值：

```
LEAST(4294967296, {AllocatedStorage*3/100})
```

这会将默认值设置为所分配存储空间的 3%，上限为 4 GiB。与 MySQL 8.4 社区版相反，在 Aurora MySQL 8.4.7 及更高版本中，默认启用内存映射的临时表。

有关参数引用条目，请参阅 [Aurora MySQL 配置参数](AuroraMySQL.Reference.ParameterGroups.md)。