

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 比較 Aurora MySQL 第 3 版和 Aurora MySQL 第 8.4 版
<a name="AuroraMySQL.Compare-v3-v84"></a>

相較於 Aurora MySQL 第 3 版 （與 MySQL 8.0 相容），Amazon Aurora MySQL 8.4 版引入了顯著的增強功能和變更。本指南重點介紹了主要差異，以協助您了解什麼是新的以及有哪些變更。

**Topics**
+ [身分驗證和安全性](#AuroraMySQL.Compare-v3-v84.auth)
+ [密碼管理](#AuroraMySQL.Compare-v3-v84.password)
+ [參數預設變更](#AuroraMySQL.Compare-v3-v84.parameters)
+ [權限和角色](#AuroraMySQL.Compare-v3-v84.privileges)

## 身分驗證和安全性
<a name="AuroraMySQL.Compare-v3-v84.auth"></a>

### 身分驗證外掛程式管理
<a name="AuroraMySQL.Compare-v3-v84.auth-plugin"></a>

**Aurora MySQL 第 3 版**使用 `default_authentication_plugin` 參數來設定新資料庫使用者的預設身分驗證外掛程式。

**Aurora MySQL 8.4 版**將 取代`default_authentication_plugin`為 `authentication_policy` 參數，以提供更靈活的身分驗證組態。

### TLS 和加密
<a name="AuroraMySQL.Compare-v3-v84.tls"></a>

**Aurora MySQL 8.4 版**強制執行更嚴格的安全標準：
+ `require_secure_transport` 參數`ON`預設為 ，所有連線都需要 TLS。
+ 僅支援 TLS 1.2 和 TLS 1.3。
+ 使用受限的密碼套件強制執行現代密碼編譯標準。

如需詳細資訊，請參閱[Amazon Aurora MySQL 的安全性](AuroraMySQL.Security.md)。

## 密碼管理
<a name="AuroraMySQL.Compare-v3-v84.password"></a>

### 密碼驗證
<a name="AuroraMySQL.Compare-v3-v84.password-validation"></a>

Aurora MySQL 第 3 版透過手動安裝支援`validate_password`外掛程式和元件，僅限於預設參數，沒有可用的自訂。

Aurora MySQL 8.4 版支援透過資料庫叢集參數管理`validate_password`元件：
+ 新的叢集參數： `aurora_enable_validate_password_component`
+ 不需要手動安裝 – 只需透過 參數啟用或停用即可。
+ `mysql.component` 資料表中未列出的元件。
+ 可以透過叢集參數群組 APIs或全域變數 來檢查元件狀態`aurora_enable_validate_password_component`。

Aurora MySQL 8.4 版針對密碼驗證自訂推出下列叢集層級參數：
+ `validate_password.check_user_name`
+ `validate_password.length`
+ `validate_password.mixed_case_count`
+ `validate_password.number_count`
+ `validate_password.policy` （僅支援 LOW 和 MEDIUM 層級）
+ `validate_password.special_char_count`

如需詳細資訊，請參閱[Aurora MySQL 中的密碼政策和密碼驗證](AuroraMySQL.PasswordPolicies.md)。

下列不可修改的執行個體層級`validate_password`外掛程式參數會在 Aurora MySQL 8.4 版中移除：
+ `validate-password`
+ `validate_password_dictionary_file`
+ `validate_password_length`
+ `validate_password_mixed_case_count`
+ `validate_password_number_count`
+ `validate_password_policy`
+ `validate_password_special_char_count`

如需詳細資訊，請參閱[Aurora MySQL 組態參數](AuroraMySQL.Reference.ParameterGroups.md)。

### 密碼政策
<a name="AuroraMySQL.Compare-v3-v84.password-policies"></a>

**Aurora MySQL 8.4 版**透過新的叢集參數新增完整的密碼政策支援：
+ `default_password_lifetime`
+ `password_history`
+ `password_reuse_interval`
+ `password_require_current`
+ `disconnect_on_expired_password`

這些參數可與每個帳戶的密碼政策搭配使用，以進行精細控制。如需詳細資訊，請參閱[Aurora MySQL 中的密碼政策和密碼驗證](AuroraMySQL.PasswordPolicies.md)。

## 參數預設變更
<a name="AuroraMySQL.Compare-v3-v84.parameters"></a>

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

**Aurora MySQL 第 3 版**對所有執行個體類別和儲存組態的 `temptable_max_mmap` 參數使用 1 GiB (`1073741824`) 的固定預設值。

**Aurora MySQL 8.4.7 版及更高版本會根據叢集配置的儲存體動態**計算預設值。公式為：

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

這會將預設值設定為配置儲存空間的 3%，上限為 4 GiB。預設 會隨著儲存容量擴展，同時保持邊界，這有助於減少使用 TempTable 儲存引擎的讀取器執行個體上的查詢失敗。

如需參數參考項目，請參閱 [Aurora MySQL 組態參數](AuroraMySQL.Reference.ParameterGroups.md)。

## 權限和角色
<a name="AuroraMySQL.Compare-v3-v84.privileges"></a>

### 新的動態權限
<a name="AuroraMySQL.Compare-v3-v84.new-privileges"></a>

**Aurora MySQL 8.4 版**支援授予 的新權限`rds_superuser_role`：
+ `ALLOW_NONEXISTENT_DEFINER`
+ `FLUSH_PRIVILEGES`
+ `OPTIMIZE_LOCAL_TABLE`
+ `SET_ANY_DEFINER`

當`SET_USER_ID`權限被 `ALLOW_NONEXISTENT_DEFINER`和 取代時，會將其移除`SET_ANY_DEFINER`。

如需詳細資訊，請參閱[主要使用者帳戶權限](UsingWithRDS.MasterAccounts.md)。

### 主要使用者行為
<a name="AuroraMySQL.Compare-v3-v84.master-user"></a>

**Aurora MySQL 第 3 版：**主要使用者預設使用身分驗證外掛程式進行密碼型身分驗證。 `mysql_native_password`

**Aurora MySQL 8.4 版：**主要使用者身分驗證外掛程式設定為`authentication_policy`叢集參數中定義的預設值 （依預設，`caching_sha2_password`外掛程式）。

透過 AWS 管理主控台、 CLI 或 API 或透過 AWS Secrets Manager 輪換重設主要使用者密碼時，Aurora 會自動使用重設時目前`authentication_policy`參數值定義的身分驗證外掛程式。

### 的受保護使用者強制執行 `rdsproxyadmin`
<a name="AuroraMySQL.Compare-v3-v84.reserved-users"></a>

**Aurora MySQL 第 3 版：** `rdsproxyadmin` 是 RDS Proxy 的預留使用者名稱。不過，引擎不會阻止您建立、修改或捨棄具有該名稱的資料庫使用者。

**Aurora MySQL 8.4 版 （從 8.4.7 版開始）：** `rdsproxyadmin` 是受保護的使用者。引擎`rdsproxyadmin`拒絕在任何主機對 執行 `CREATE`、`DROP`、`REVOKE`、、 和 `RENAME` `GRANT``SET PASSWORD`操作。如需拒絕操作的完整清單和範例錯誤，請參閱 [Aurora MySQL 中的預留使用者](AuroraMySQL.Security.md#AuroraMySQL.Security.ReservedUsers)。

如果您在第 3 版叢集中建立 `rdsproxyadmin`使用者，請參閱 [的受保護使用者強制執行 `rdsproxyadmin`](AuroraMySQL.Upgrade-v3-v84-security.md#AuroraMySQL.Upgrade-v3-v84-security.rdsproxyadmin) 以取得預先升級指引。