

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

# Amazon Aurora MySQL 參考
<a name="AuroraMySQL.Reference"></a><a name="mysqlref"></a>

此參考包括 Aurora MySQL 參數、狀態變數和一般 SQL 擴充功能或社群 MySQL 資料庫引擎差異的相關資訊。

**Topics**
+ [Aurora MySQL 組態參數](AuroraMySQL.Reference.ParameterGroups.md)
+ [Aurora MySQL 全域狀態變數](AuroraMySQL.Reference.GlobalStatusVars.md)
+ [Aurora MySQL 等待事件](AuroraMySQL.Reference.Waitevents.md)
+ [Aurora MySQL 執行緒狀態](AuroraMySQL.Reference.thread-states.md)
+ [Aurora MySQL 隔離層級](AuroraMySQL.Reference.IsolationLevels.md)
+ [Aurora MySQL 提示](AuroraMySQL.Reference.Hints.md)
+ [Aurora MySQL 預存程序參考](AuroraMySQL.Reference.StoredProcs.md)
+ [Aurora MySQL 特定的 information\$1schema 資料表](AuroraMySQL.Reference.ISTables.md)

# Aurora MySQL 組態參數
<a name="AuroraMySQL.Reference.ParameterGroups"></a><a name="param_groups"></a>

您可以採用管理其他 Amazon RDS 資料庫執行個體的相同方式來管理您的 Amazon Aurora MySQL 資料庫叢集，方法是在資料庫參數群組中使用參數。Amazon Aurora 與其他資料庫引擎的差異在於，您會有包含多個資料庫執行個體的資料庫叢集。因此，您用來管理 Aurora MySQL 資料庫叢集的部分參數會套用至整個叢集。其他參數只套用至資料庫叢集的特定資料庫執行個體。

若要管理叢集層級參數，請使用資料庫叢集參數群組。若要管理執行個體層級參數，請使用資料庫參數群組。每個 Aurora MySQL 資料庫叢集中的資料庫執行個體都與 MySQL 資料庫引擎相容。不過，您可以在叢集層級套用一些 MySQL 資料庫引擎參數，而您可使用資料庫叢集參數群組來管理這些參數。您無法在 Aurora 資料庫叢集的執行個體資料庫參數群組中找到叢集層級參數。本主題稍後將提供叢集層級參數清單。

您可以使用 AWS 管理主控台、AWS CLI 或 Amazon RDS API 同時管理叢集層級和執行個體層級參數。您會對管理叢集層級參數和執行個體層級參數使用不同的命令。例如，您可以使用 [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html) CLI 命令來管理資料庫叢集參數群組中的叢集層級參數。您可以使用 [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) CLI 命令，以在資料庫叢集中的資料庫執行個體中，管理資料庫參數群組中的執行個體層級參數。

您可以在主控台中，或使用 CLI 或 RDS API 來檢視叢集層級和執行個體層級參數。例如，您可以使用 [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) AWS CLI 命令來檢視資料庫叢集參數群組中的叢集層級參數。您可以使用 [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) CLI 命令，以在資料庫叢集中的資料庫執行個體中，檢視資料庫參數群組中的執行個體層級參數。

**注意**  
每個[預設參數群組](USER_WorkingWithParamGroups.md)包含參數群組中所有參數的預設值。如果參數具有此值的「引擎預設值」，請參閱特定版本的 MySQL 或 PostgreSQL 文件以取得實際預設值。  
除非另有說明，否則下表所列參數對 Aurora MySQL 第 2 版和第 3 版有效。

如需資料庫參數群組的詳細資訊，請參閱 [Amazon Aurora 的參數群組](USER_WorkingWithParamGroups.md)。如需 Aurora Serverless v1 叢集的規則與限制，請參閱 [Aurora Serverless v1 的參數群組](aurora-serverless-v1.how-it-works.md#aurora-serverless.parameter-groups)。

**Topics**
+ [叢集層級參數](#AuroraMySQL.Reference.Parameters.Cluster)
+ [執行個體層級參數](#AuroraMySQL.Reference.Parameters.Instance)
+ [不適用於 Aurora MySQL 的 MySQL 參數](#AuroraMySQL.Reference.Parameters.Inapplicable)

## 叢集層級參數
<a name="AuroraMySQL.Reference.Parameters.Cluster"></a><a name="cluster_params"></a><a name="params"></a>

下表顯示套用至整個 Aurora MySQL 資料庫叢集的所有參數。


| 參數名稱 | 可修改 | 備註 | 
| --- | --- | --- | 
|  `aurora_binlog_read_buffer_size`  |  是  |  只會影響使用二進位日誌 (binlog) 複寫的叢集。如需 binlog 複寫的資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。已從 Aurora MySQL 第 3 版中移除。  | 
|  `aurora_binlog_replication_max_yield_seconds`  |  是  |  只會影響使用二進位日誌 (binlog) 複寫的叢集。如需 binlog 複寫的資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。  | 
|  `aurora_binlog_replication_sec_index_parallel_workers`  |  是  |  設定在複寫具有多個次要索引的大型資料表的交易時，可用於套用次要索引變更的平行執行緒總數。依預設，參數會設為 `0` (停用)。 此參數適用於 Aurora MySQL 3.06 版及更新版本。如需更多詳細資訊，請參閱 [最佳化 Aurora MySQL 的二進位日誌複寫](binlog-optimization.md)。  | 
|  `aurora_binlog_use_large_read_buffer`  |  是  |  只會影響使用二進位日誌 (binlog) 複寫的叢集。如需 binlog 複寫的資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。已從 Aurora MySQL 第 3 版中移除。  | 
|  `aurora_disable_hash_join`   |  是  |  將此參數設為 `ON`，以在 Aurora MySQL 2.09 或更新版本中關閉雜湊聯結最佳化功能。第 3 版不支援它。如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 的平行查詢](aurora-mysql-parallel-query.md)。  | 
|   `aurora_enable_replica_log_compression`   |   是   |   如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 複寫的效能考量](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Performance)。不套用到屬於 Aurora 全球資料庫的叢集。已從 Aurora MySQL 第 3 版中移除。  | 
|   `aurora_enable_repl_bin_log_filtering`   |   是   |   如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 複寫的效能考量](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Performance)。不套用到屬於 Aurora 全球資料庫的叢集。已從 Aurora MySQL 第 3 版中移除。  | 
|  `aurora_enable_staggered_replica_restart`  |  是  | 此設定可在 Aurora MySQL 版本 3 中使用，但未使用。 | 
|   `aurora_enable_zdr`   |   是   |   此設定在 Aurora MySQL 2.10 及更高版本中預設為開啟。  | 
|   `aurora_in_memory_relaylog`   |  是  |  設定內部記憶體轉送日誌模式。您可以在 binlog 複本上使用此功能來改善二進位日誌複寫效能。若要關閉此功能，請將參數設定為 OFF。若要開啟此功能，請將參數設定為 ON。  | 
|   `aurora_enhanced_binlog`   |   是   |   將此參數的值設定為 1，以在 Aurora MySQL 3.03.1 版及更新版本中開啟增強型 Binlog。如需更多詳細資訊，請參閱 [設定 Aurora MySQL 的增強型 binlog](AuroraMySQL.Enhanced.binlog.md)。  | 
|   `aurora_full_double_precision_in_json`   |  是  |   設定此參數的值，以完全精確度在 JSON 文件中啟用浮點數的剖析。  | 
|  `aurora_jemalloc_background_thread`  |  是  |  使用此參數可啟用背景執行緒來執行記憶體維護操作。允許的值為 `0` (停用) 和 `1` (啟用)。預設值為 `0`。 此參數適用於 Aurora MySQL 3.05 版及更新版本。  | 
|  `aurora_jemalloc_dirty_decay_ms`  |  是  |  使用此參數可保留釋放的記憶體一段特定時間 (以毫秒為單位)。保留記憶體可讓您更快速重複使用。允許的值為 `0`–`18446744073709551615`。預設值為 `10000` (10 秒)。 您可以使用較短的延遲來協助避免記憶體不足的問題，但代價是效能較慢。 此參數適用於 Aurora MySQL 3.05 版及更新版本。  | 
|  `aurora_jemalloc_tcache_enabled`  |  是  |  使用此參數可在執行緒本機快取中提供小型記憶體請求 (最多 32 KiB)，繞過記憶體區域。允許的值為 `0` (停用) 和 `1` (啟用)。預設值為 `1`。 此參數適用於 Aurora MySQL 3.05 版及更新版本。  | 
|   `aurora_load_from_s3_role`   |   是   |   如需更多詳細資訊，請參閱 [從 Amazon S3 儲存貯體中的文字檔案將資料載入 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Integrating.LoadFromS3.md)。目前不適用於 Aurora MySQL 第 3 版。請使用 `aws_default_s3_role`。  | 
|  `aurora_mask_password_hashes_type`  |  是  |  此設定在 Aurora MySQL 2.11 及更高版本中預設為開啟。 使用此設定可在慢速查詢和稽核日誌中遮罩 Aurora MySQL 密碼雜湊。有效值為 `0` 和 `1` (預設值)。設為 `1` 時，密碼會記錄為 `<secret>`。設為 `0` 時，密碼會記錄為雜湊 (`#`) 值。  | 
|   `aurora_select_into_s3_role`   |   是   |   如需更多詳細資訊，請參閱 [將來自 Amazon Aurora MySQL 資料庫叢集的資料儲存至 Amazon S3 儲存貯體中的文字檔案](AuroraMySQL.Integrating.SaveIntoS3.md)。目前不適用於 Aurora MySQL 第 3 版。請使用 `aws_default_s3_role`。  | 
|  `authentication_kerberos_caseins_cmp`  |  是  |  控制 `authentication_kerberos` 外掛程式的不區分大小寫使用者名稱比較。將其設為 `true` 進行不區分大小寫的比較。根據預設，使用區分大小寫的比較 (`false`)。如需更多詳細資訊，請參閱 [針對 Aurora MySQL 使用 Kerberos 身分驗證](aurora-mysql-kerberos.md)。 此參數適用於 Aurora MySQL 3.03 版及更新版本。  | 
|   `auto_increment_increment`   |   是   |  無  | 
|   `auto_increment_offset`   |   是   |  無  | 
|   `aws_default_lambda_role`   |   是   |   如需更多詳細資訊，請參閱 [從 Amazon Aurora MySQL 資料庫叢集叫用 Lambda 函式](AuroraMySQL.Integrating.Lambda.md)。  | 
|  `aws_default_s3_role`  | 是 |  從資料庫叢集呼叫 `LOAD DATA FROM S3`、`LOAD XML FROM S3` 或 `SELECT INTO OUTFILE S3` 陳述式時使用。 在 Aurora MySQL 第 2 版中，如果未針對適當陳述式的 `aurora_load_from_s3_role` 或 `aurora_select_into_s3_role` 指定 IAM 角色，則會使用此參數中指定的 IAM 角色。 在 Aurora MySQL 第 3 版中，一律使用針對此參數指定的 IAM 角色。 如需更多詳細資訊，請參閱 [將 IAM 角色與 Amazon Aurora MySQL 資料庫叢集建立關聯](AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.md)。  | 
|   `binlog_backup`   |   是   |   將此參數的值設定為 0，以在 Aurora MySQL 3.03.1 版及更新版本中開啟增強型 Binlog。僅在使用增強型 Binlog 時，才能關閉此參數。如需更多詳細資訊，請參閱 [設定 Aurora MySQL 的增強型 binlog](AuroraMySQL.Enhanced.binlog.md)。  | 
|   `binlog_checksum`   |   是   |  如果未設定此參數，AWS CLI 和 RDS API 會報告 `None` 的值。在這種情況下，Aurora MySQL 會使用引擎預設值，即 `CRC32`。這與 `NONE` 的明確設定不同，該設定會關閉檢查總和。  | 
|   `binlog-do-db`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_format`   |   是   |   如需更多詳細資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。  | 
|   `binlog_group_commit_sync_delay`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_group_commit_sync_no_delay_count`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog-ignore-db`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_replication_globaldb`   |   是   |   將此參數的值設定為 0，以在 Aurora MySQL 3.03.1 版及更新版本中開啟增強型 Binlog。僅在使用增強型 Binlog 時，才能關閉此參數。如需更多詳細資訊，請參閱 [設定 Aurora MySQL 的增強型 binlog](AuroraMySQL.Enhanced.binlog.md)。  | 
|   `binlog_row_image`   |   否   |  無  | 
|   `binlog_row_metadata`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_row_value_options`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_rows_query_log_events`   |   是   |  無  | 
|   `binlog_transaction_compression`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_transaction_compression_level_zstd`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|  `binlog_transaction_dependency_history_size`  |  是  |  此參數會設定儲存在記憶體中的資料列雜湊數目上限，並用於查詢上次修改指定資料列的交易。達到此雜湊數目之後，會清除歷史記錄。 此參數適用於 Aurora MySQL 2.12 版及更新版本以及 3 版。  | 
|   `binlog_transaction_dependency_tracking`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `character-set-client-handshake`   |   是   |  無  | 
|   `character_set_client`   |   是   |  無  | 
|   `character_set_connection`   |   是   |  無  | 
|   `character_set_database`   |   是   |  預設資料庫使用的字元集。預設值為 `utf8mb4`。  | 
|   `character_set_filesystem`   |   是   |  無  | 
|   `character_set_results`   |   是   |  無  | 
|   `character_set_server`   |   是   |  無  | 
|   `collation_connection`   |   是   |  無  | 
|   `collation_server`   |   是   |  無  | 
|   `completion_type`   |   是   |  無  | 
|   `default_storage_engine`   |   否   |   Aurora MySQL 叢集使用 InnoDB 儲存引擎來存放您的所有資料。  | 
|   `enforce_gtid_consistency`   |   有時候   |  在 Aurora MySQL 第 2 版及更新的版本中可修改。  | 
|  `event_scheduler`  |  是  |  指示事件排程器的狀態。 僅可在 Aurora MySQL 第 3 版中的叢集層級進行修改。  | 
|   `gtid-mode`   |   有時候   |  在 Aurora MySQL 第 2 版及更新的版本中可修改。  | 
|  `information_schema_stats_expiry`  |  是  |  MySQL 資料庫伺服器從儲存引擎擷取資料並取代快取中的資料之後的秒數。允許的值為 `0`–`31536000`。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `init_connect`   |   是   |  要由伺服器針對每個連線的用戶端執行的命令。針對設定使用雙引號 (")，以避免連線失敗，例如： <pre>SET optimizer_switch="hash_join=off"</pre> 在 Aurora MySQL 第 3 版中，此參數不適用於具有 `CONNECTION_ADMIN` 權限的使用者。這包括 Aurora 主要使用者。如需更多詳細資訊，請參閱 [角色型權限模型](AuroraMySQL.Compare-80-v3.md#AuroraMySQL.privilege-model)。  | 
|  `innodb_adaptive_hash_index`  |  是  |  您可以在 Aurora MySQL 第 2 版和第 3 版中的資料庫叢集層級修改此參數。 讀取器資料庫執行個體不支援自適應雜湊索引。  | 
|  `innodb_aurora_instant_alter_column_allowed`  | 是 |  控制 `INSTANT` 演算法是否可用於全域層級的 `ALTER COLUMN` 操作。允許值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html) 如需詳細資訊，請參閱 MySQL 文件中的[欄操作](https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-operations.html#online-ddl-column-operations)。 此參數適用於 Aurora MySQL 3.05 版及更新版本。  | 
|   `innodb_autoinc_lock_mode`   |   是   |  無  | 
|   `innodb_checksums`   |   否   | 已從 Aurora MySQL 第 3 版中移除。 | 
|   `innodb_cmp_per_index_enabled`   |   是   |  無  | 
|   `innodb_commit_concurrency`   |   是   |  無  | 
|   `innodb_data_home_dir`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `innodb_deadlock_detect`   |  是  |  此選項用於停用 Aurora MySQL 2.11 和更新版本以及 3 版中的死結偵測。 在高度並行系統上，當多個執行緒等待同一個結時，死結偵測可能會導致速度變慢。如需此參數的詳細資訊，請參閱 MySQL 文件。  | 
|  `innodb_default_row_format`  | 是 |  此參數定義 InnoDB 資料表的預設資料列格式 (包括使用者建立的 InnoDB 暫存資料表)。它適用於 Aurora MySQL 第 2 版和第 3 版。 其值可以是 `DYNAMIC`、`COMPACT` 或 `REDUNDANT.`。  | 
|   `innodb_file_per_table`   |   是   |  此參數會影響資料表儲存的組織方式。如需更多詳細資訊，請參閱 [儲存體擴展](Aurora.Managing.Performance.md#Aurora.Managing.Performance.StorageScaling)。  | 
|  `innodb_flush_log_at_trx_commit`  |  是  |  建議您使用預設值 `1`。 在 Aurora MySQL 第 3 版中，您必須先將 `innodb_trx_commit_allow_data_loss` 的值設定為 `1`，才能將此參數設定為 `1` 以外的值。 如需更多詳細資訊，請參閱 [設定日誌緩衝區的排清頻率](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)。  | 
|   `innodb_ft_max_token_size`   |   是   |  無  | 
|   `innodb_ft_min_token_size`   |   是   |  無  | 
|   `innodb_ft_num_word_optimize`   |   是   |  無  | 
|   `innodb_ft_sort_pll_degree`   |   是   |  無  | 
|   `innodb_online_alter_log_max_size`   |   是   |  無  | 
|   `innodb_optimize_fulltext_only`   |   是   |  無  | 
|   `innodb_page_size`   |   否   |  無  | 
|   `innodb_print_all_deadlocks`   |   是   |  開啟時，InnoDB 所有死結的資訊皆會記錄在 Aurora MySQL 錯誤日誌。如需更多詳細資訊，請參閱 [減少和疑難排解 Aurora MySQL 的死結情況](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks)。  | 
|   `innodb_purge_batch_size`   |   是   |  無  | 
|   `innodb_purge_threads`   |   是   |  無  | 
|   `innodb_rollback_on_timeout`   |   是   |  無  | 
|   `innodb_rollback_segments`   |   是   |  無  | 
|   `innodb_spin_wait_delay`   |   是   |  無  | 
|   `innodb_strict_mode`   |   是   |  無  | 
|   `innodb_support_xa`   |   是   | 已從 Aurora MySQL 第 3 版中移除。 | 
|   `innodb_sync_array_size`   |   是   |  無  | 
|   `innodb_sync_spin_loops`   |   是   |  無  | 
|  `innodb_stats_include_delete_marked`  |  是  |  啟用此參數時，InnoDB 會在計算永久性最佳化程式統計資料時包含已刪除標記的記錄。 此參數適用於 Aurora MySQL 2.12 版及更新版本以及 3 版。  | 
|   `innodb_table_locks`   |   是   |  無  | 
|  `innodb_trx_commit_allow_data_loss`  |  是  |  在 Aurora MySQL 第 3 版中，將此參數的值設定為 `1`，以便您可以變更 `innodb_flush_log_at_trx_commit` 的值。 `innodb_trx_commit_allow_data_loss` 的預設值為 `0`。 如需更多詳細資訊，請參閱 [設定日誌緩衝區的排清頻率](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)。  | 
|   `innodb_undo_directory`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|  `internal_tmp_disk_storage_engine`  | 是 |  控制內部暫存資料表所要使用的記憶體內儲存引擎。允許的值為 `INNODB` 和 `MYISAM`。 此參數適用於 Aurora MySQL 第 2 版。  | 
|  `internal_tmp_mem_storage_engine`  |   是   |  控制內部暫存資料表所要使用的記憶體內儲存引擎。允許的值為 `MEMORY` 和 `TempTable`。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `key_buffer_size`  |   是   |  MyISAM 資料表的金鑰快取。如需詳細資訊，請參閱 [keycache->cache\$1lock mutex](AuroraMySQL.Reference.Waitevents.md#key-cache.cache-lock)。  | 
|   `lc_time_names`   |   是   |  無  | 
|  `log_error_suppression_list`  |  是  |  指定未記錄在 MySQL 錯誤日誌中的錯誤代碼清單。這可讓您忽略某些非關鍵錯誤情況，以協助保持錯誤日誌的乾淨。如需詳細資訊，請參閱 MySQL 文件中的 [log\$1error\$1suppression\$1list](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_error_suppression_list)。 此參數適用於 Aurora MySQL 3.03 版及更新版本。  | 
|  `low_priority_updates`  |  是  |  `INSERT`、`UPDATE`、`DELETE`、和 `LOCK TABLE WRITE` 操作會等待到沒有擱置的 `SELECT` 操作為止。此參數只會影響僅使用資料表層級鎖定 (MyISAM、MEMORY、MERGE) 的儲存引擎。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `lower_case_table_names`  |  是 (Aurora MySQL 第 2 版) 僅在建立叢集時 (Aurora MySQL 第 3 版)  |  在 Aurora MySQL 2.10 及更新的 2.x 版中，請務必在變更此設定並重新啟動寫入器執行個體之後，重新啟動所有讀取器執行個體。如需詳細資訊，請參閱 [使用讀取可用性功能重新啟動 Aurora 叢集](aurora-mysql-survivable-replicas.md)。 在 Aurora MySQL 第 3 版中，此參數的值會在建立叢集時永久設定。如果您對此選項使用非預設值，請在升級之前設定 Aurora MySQL 第 3 版自訂參數群組，並在建立第 3 版叢集的快照還原作業期間指定參數群組。 使用以 Aurora MySQL 為基礎的 Aurora 全域資料庫時，若啟用 `lower_case_table_names` 參數，即無法從 Aurora MySQL 第 2 版就地升級至第 3 版。如需詳細了解您可以使用的方法，請參閱 [主要版本升級](aurora-global-database-upgrade.md#aurora-global-database-upgrade.major)。  | 
|   `master-info-repository`   |   是   |  已從 Aurora MySQL 第 3 版中移除。  | 
|   `master_verify_checksum`   |   是   |  Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `source_verify_checksum`。  | 
|  `max_delayed_threads`  | 是 |  設定要處理 `INSERT DELAYED` 陳述式的執行緒數量上限。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `max_error_count`  | 是 |  要儲存用於顯示的錯誤訊息、警告和備註訊息數量上限。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `max_execution_time`  | 是 |  執行 `SELECT` 陳述式的逾時，以毫秒為單位。值可以介於 `0`–`18446744073709551615` 之間。設為 `0` 時，不會發生逾時。 如需詳細資訊，請參閱 MySQL 文件中的 [max\$1execution\$1time](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_execution_time)。  | 
|  `min_examined_row_limit`  | 是 |  使用此參數可防止所檢查資料列未達指定數量的查詢。  | 
|   `partial_revokes`   |   否   |  此參數適用於 Aurora MySQL 第 3 版。  | 
|  `preload_buffer_size`  | 是 |  預先載入索引時所配置的緩衝區大小。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `query_cache_type`  |  是  |  已從 Aurora MySQL 第 3 版中移除。  | 
|   `read_only`   |   是   |  此參數開啟時，伺服器不允許任何更新，除了由複本執行緒執行的更新。 對於 Aurora MySQL 第 2 版，有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html) 對於 Aurora MySQL 第 3 版，有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html) 在 Aurora MySQL 第 3 版中，此參數不適用於具有 `CONNECTION_ADMIN` 權限的使用者。這包括 Aurora 主要使用者。如需更多詳細資訊，請參閱 [角色型權限模型](AuroraMySQL.Compare-80-v3.md#AuroraMySQL.privilege-model)。  | 
|   `relay-log-space-limit`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|  `replica_parallel_type`  | 是 |  此參數會啟用在所有處於準備階段的未遞交執行緒複本上平行執行，而不違反一致性。它適用於 Aurora MySQL 第 3 版。 在 Aurora MySQL 3.03.\$1 及較低版本中，預設值是 DATABASE。在 Aurora MySQL 3.04 及較高版本中，預設值是 LOGICAL\$1CLOCK。  | 
|   `replica_preserve_commit_order`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replica_transaction_retries`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|  `replica_type_conversions`  |  是  |  此參數會決定複本上所使用的類型轉換。允許的值為 `ALL_LOSSY`、`ALL_NON_LOSSY`、`ALL_SIGNED` 和 `ALL_UNSIGNED`。如需詳細資訊，請參閱 MySQL 文件中的[在來源和複本上使用不同資料表定義進行複寫](https://dev.mysql.com/doc/refman/8.0/en/replication-features-differing-tables.html)。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-do-db`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-do-table`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-ignore-db`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-ignore-table`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-wild-do-table`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `replicate-wild-ignore-table`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `require_secure_transport`   |   是   |   此參數適用於 Aurora MySQL 第 2 版和第 3 版。如需更多詳細資訊，請參閱 [Aurora MySQL 資料庫叢集的 TLS 連線](AuroraMySQL.Security.md#AuroraMySQL.Security.SSL)。  | 
|   `rpl_read_size`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|  `server_audit_cw_upload`  |   否   |  此參數在 Aurora MySQL 中已棄用。請使用 `server_audit_logs_upload`。 如需更多詳細資訊，請參閱 [將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。  | 
|   `server_audit_events`   |   是   |  如需更多詳細資訊，請參閱 [使用進階稽核與 Amazon Aurora MySQL 資料庫叢集搭配](AuroraMySQL.Auditing.md)。  | 
|   `server_audit_excl_users`   |   是   |  如需更多詳細資訊，請參閱 [使用進階稽核與 Amazon Aurora MySQL 資料庫叢集搭配](AuroraMySQL.Auditing.md)。  | 
|   `server_audit_incl_users`   |   是   |  如需更多詳細資訊，請參閱 [使用進階稽核與 Amazon Aurora MySQL 資料庫叢集搭配](AuroraMySQL.Auditing.md)。  | 
|   `server_audit_logging`   |   是   |   如需上傳日誌到 Amazon CloudWatch Logs 的說明，請參閱 [將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。  | 
|  `server_audit_logs_upload`  |  是  |  您可以透過啟用進階稽核並將此參數設定為 `1`，將稽核日誌發佈至 CloudWatch Logs。`server_audit_logs_upload` 參數的預設值為 `0`。 如需更多詳細資訊，請參閱 [將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。  | 
|   `server_id`   |   否   |  無  | 
|   `skip-character-set-client-handshake`   |   是   |  無  | 
|   `skip_name_resolve`   |   否   |  無  | 
|   `slave-skip-errors`   |   是   |  僅適用於 Aurora MySQL 第 2 版叢集，與 MySQL 5.7 相容。  | 
|   `source_verify_checksum`   |   是   |  此參數適用於 Aurora MySQL 第 3 版。  | 
|  `sync_frm`  |  是  |  已從 Aurora MySQL 第 3 版中移除。  | 
|  `thread_cache_size`  | 是 | 要快取的執行緒數目。此參數適用於 Aurora MySQL 第 2 版和第 3 版。 | 
|   `time_zone`   |   是   |  Aurora 資料庫叢集的時區預設為國際標準時間 (UTC)。您可以將您的資料庫叢集中執行個體的時區改為設定成應用程式的本機時區。如需更多詳細資訊，請參閱 [Amazon Aurora 資料庫叢集的本機時區](Concepts.RegionsAndAvailabilityZones.md#Aurora.Overview.LocalTimeZone)。  | 
|   `tls_version`   |   是   |   如需更多詳細資訊，請參閱 [適用於 Aurora MySQL 的 TLS 版本](AuroraMySQL.Security.md#AuroraMySQL.Security.SSL.TLS_Version)。  | 

## 執行個體層級參數
<a name="AuroraMySQL.Reference.Parameters.Instance"></a><a name="instance_params"></a><a name="db_params"></a>

 下表顯示套用至 Aurora MySQL 資料庫叢集中特定資料庫執行個體的所有參數。


|  參數名稱  |  可修改  |  備註  | 
| --- | --- | --- | 
|   `activate_all_roles_on_login`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `allow-suspicious-udfs`   |   否   |  無  | 
|  `aurora_disable_hash_join`   |  是  |  將此參數設為 `ON`，以在 Aurora MySQL 2.09 或更新版本中關閉雜湊聯結最佳化功能。第 3 版不支援它。如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 的平行查詢](aurora-mysql-parallel-query.md)。  | 
|   `aurora_lab_mode`   |   是   |   如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 實驗室模式](AuroraMySQL.Updates.LabMode.md)。已從 Aurora MySQL 第 3 版中移除。  | 
|   `aurora_oom_response`   |   是   |  Aurora MySQL 第 2 版和第 3 版支援此參數。如需更多詳細資訊，請參閱 [故障診斷 Aurora MySQL 資料庫記憶體不足的問題](AuroraMySQLOOM.md)。  | 
|   `aurora_parallel_query`   |   是   |  設為 `ON` 以在 Aurora MySQL 2.09 版或更新版本中開啟平行查詢。舊 `aurora_pq` 參數不在這些版本中使用。如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 的平行查詢](aurora-mysql-parallel-query.md)。  | 
|   `aurora_pq`   |   是   |  設定為 `OFF` 以關閉 2.09 之前 Aurora MySQL 版本中特定資料庫執行個體的平行查詢。在 2.09 或更新版本中，請改用 `aurora_parallel_query` 開啟和關閉平行查詢。如需更多詳細資訊，請參閱 [Amazon Aurora MySQL 的平行查詢](aurora-mysql-parallel-query.md)。  | 
|  `aurora_read_replica_read_committed`  |  是  |   對 Aurora 複本啟用 `READ COMMITTED` 隔離層級，並變更隔離行為，以縮短長時間執行的查詢帶來的清除延遲時間。只在您了解行為變更及其如何影響查詢結果時，才啟用此設定。例如，此設定使用的隔離不像 MySQL 預設值那麼嚴格。啟用此設定時，長時間執行的查詢可能看到同一列有多個副本，因為在查詢執行的同時，Aurora 重組資料表資料。如需更多詳細資訊，請參閱 [Aurora MySQL 隔離層級](AuroraMySQL.Reference.IsolationLevels.md)。  | 
|  `aurora_tmptable_enable_per_table_limit`  |  是  |  確定 `tmp_table_size` 參數是否控制 Aurora MySQL 3.04 版及更新版本中的 `TempTable` 儲存體引擎建立記憶體內暫時資料表的大小上限。 如需更多詳細資訊，請參閱 [限制記憶體內部暫存資料表的大小](ams3-temptable-behavior.md#ams3-temptable-behavior-limit)。  | 
|  `aurora_use_vector_instructions`  |  是  |  啟用此參數時，Aurora MySQL 會使用現代 CPU 提供的最佳化向量處理指令來改善 I/O 密集型工作負載的效能。 此設定在 Aurora MySQL 3.05 及更高版本中預設為啟用。  | 
|   `autocommit`   |   是   |  無  | 
|   `automatic_sp_privileges`   |   是   |  無  | 
|   `back_log`   |   是   |  無  | 
|   `basedir`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `binlog_cache_size`   |   是   |  無  | 
|   `binlog_max_flush_queue_time`   |   是   |  無  | 
|   `binlog_order_commits`   |   是   |  無  | 
|   `binlog_stmt_cache_size`   |   是   |  無  | 
|   `binlog_transaction_compression`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `binlog_transaction_compression_level_zstd`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `bulk_insert_buffer_size`   |   是   |  無  | 
|   `concurrent_insert`   |   是   |  無  | 
|   `connect_timeout`   |   是   |  無  | 
|   `core-file`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `datadir`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `default_authentication_plugin`   |   否   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `default_time_zone`   |   否   |  無  | 
|   `default_tmp_storage_engine`   |   是   |  暫存資料表的預設儲存引擎。  | 
|   `default_week_format`   |   是   |  無  | 
|   `delay_key_write`   |   是   |  無  | 
|   `delayed_insert_limit`   |   是   |  無  | 
|   `delayed_insert_timeout`   |   是   |  無  | 
|   `delayed_queue_size`   |   是   |  無  | 
|   `div_precision_increment`   |   是   |  無  | 
|   `end_markers_in_json`   |   是   |  無  | 
|   `eq_range_index_dive_limit`   |   是   |  無  | 
|   `event_scheduler`   |  有時候  |  指示事件排程器的狀態。 僅可在 Aurora MySQL 第 3 版中的叢集層級進行修改。  | 
|   `explicit_defaults_for_timestamp`   |   是   |  無  | 
|   `flush`   |   否   |  無  | 
|   `flush_time`   |   是   |  無  | 
|   `ft_boolean_syntax`   |   否   |  無  | 
|   `ft_max_word_len`   |   是   |  無  | 
|   `ft_min_word_len`   |   是   |  無  | 
|   `ft_query_expansion_limit`   |   是   |  無  | 
|   `ft_stopword_file`   |   是   |  無  | 
|   `general_log`   |   是   |   如需上傳日誌到 CloudWatch Logs 的說明，請參閱 [將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。  | 
|   `general_log_file`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `group_concat_max_len`   |   是   |  無  | 
|   `host_cache_size`   |   是   |  無  | 
|   `init_connect`   |   是   |  要由伺服器針對每個連線的用戶端執行的命令。針對設定使用雙引號 (")，以避免連線失敗，例如： <pre>SET optimizer_switch="hash_join=off"</pre> 在 Aurora MySQL 第 3 版中，此參數不適用於具有 `CONNECTION_ADMIN` 權限的使用者，也不適用於 Aurora 主要使用者。如需更多詳細資訊，請參閱 [角色型權限模型](AuroraMySQL.Compare-80-v3.md#AuroraMySQL.privilege-model)。  | 
|  `innodb_adaptive_hash_index`  |  是  |  您可以在 Aurora MySQL 第 2 版中的資料庫執行個體層級修改此參數。僅可在 Aurora MySQL 第 3 版中的資料庫叢集層級進行修改。 讀取器資料庫執行個體不支援自適應雜湊索引。  | 
|   `innodb_adaptive_max_sleep_delay`   |   是   |   修改此參數不會有任何作用，因為對 Aurora 而言，`innodb_thread_concurrency` 永遠為 0。  | 
|  `innodb_aurora_max_partitions_for_range`  | 是 |  在某些無法使用持續性統計資料的情況下，您可以使用此參數來改善分割資料表上的資料列計數估算效能。 您可以將其設定為介於 0-8192 之間的值，該值會決定資料列計數估算期間所要檢查的分割區數量。預設值為 0，會使用所有分割區進行估算，與預設 MySQL 行為一致。 此參數適用於 Aurora MySQL 第 3.03.1 版及更高版本。  | 
|   `innodb_autoextend_increment`   |   是   |  無  | 
|   `innodb_buffer_pool_dump_at_shutdown`   |   否   |  無  | 
|   `innodb_buffer_pool_dump_now`   |   否   |  無  | 
|   `innodb_buffer_pool_filename`   |   否   |  無  | 
|   `innodb_buffer_pool_load_abort`   |   否   |  無  | 
|   `innodb_buffer_pool_load_at_startup`   |   否   |  無  | 
|   `innodb_buffer_pool_load_now`   |   否   |  無  | 
|   `innodb_buffer_pool_size`   |   是   |  預設值以公式表示。如需如何在公式中計算 `DBInstanceClassMemory` 值的詳細資訊，請參閱 [資料庫參數公式變數](USER_ParamValuesRef.md#USER_FormulaVariables)。  | 
|   `innodb_change_buffer_max_size`   |   否   |   Aurora MySQL 完全不會使用 InnoDB 變更緩衝。  | 
|   `innodb_compression_failure_threshold_pct`   |   是   |  無  | 
|   `innodb_compression_level`   |   是   |  無  | 
|   `innodb_compression_pad_pct_max`   |   是   |  無  | 
|   `innodb_concurrency_tickets`   |   是   |   修改此參數不會有任何作用，因為對 Aurora 而言，`innodb_thread_concurrency` 永遠為 0。  | 
|   `innodb_deadlock_detect`   |  是  |  此選項用於停用 Aurora MySQL 2.11 和更新版本以及 3 版中的死結偵測。 在高度並行系統上，當多個執行緒等待同一個結時，死結偵測可能會導致速度變慢。如需此參數的詳細資訊，請參閱 MySQL 文件。  | 
|   `innodb_file_format`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `innodb_flushing_avg_loops`   |   否   |  無  | 
|   `innodb_force_load_corrupted`   |   否   |  無  | 
|   `innodb_ft_aux_table`   |   是   |  無  | 
|   `innodb_ft_cache_size`   |   是   |  無  | 
|   `innodb_ft_enable_stopword`   |   是   |  無  | 
|   `innodb_ft_server_stopword_table`   |   是   |  無  | 
|   `innodb_ft_user_stopword_table`   |   是   |  無  | 
|   `innodb_large_prefix`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `innodb_lock_wait_timeout`   |   是   |  無  | 
|   `innodb_log_compressed_pages`   |   否   |  無  | 
|   `innodb_lru_scan_depth`   |   是   |  無  | 
|   `innodb_max_purge_lag`   |   是   |  無  | 
|   `innodb_max_purge_lag_delay`   |   是   |  無  | 
|   `innodb_monitor_disable`   |   是   |  無  | 
|   `innodb_monitor_enable`   |   是   |  無  | 
|   `innodb_monitor_reset`   |   是   |  無  | 
|   `innodb_monitor_reset_all`   |   是   |  無  | 
|   `innodb_old_blocks_pct`   |   是   |  無  | 
|   `innodb_old_blocks_time`   |   是   |  無  | 
|   `innodb_open_files`   |   是   |  無  | 
|   `innodb_print_all_deadlocks`   |   是   |  開啟時，InnoDB 所有死結的資訊皆會記錄在 Aurora MySQL 錯誤日誌。如需更多詳細資訊，請參閱 [減少和疑難排解 Aurora MySQL 的死結情況](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.deadlocks)。  | 
|   `innodb_random_read_ahead`   |   是   |  無  | 
|   `innodb_read_ahead_threshold`   |   是   |  無  | 
|   `innodb_read_io_threads`   |   否   |  無  | 
|   `innodb_read_only`   |   否   |   Aurora MySQL 會根據叢集的類型管理資料庫執行個體的唯讀和讀寫狀態。例如，佈建叢集具有一個讀寫資料庫執行個體 (*primary instance (主要執行個體)*)，其他叢集內的任何執行個體都是唯讀 (Aurora 複本)。  | 
|   `innodb_replication_delay`   |   是   |  無  | 
|   `innodb_sort_buffer_size`   |   是   |  無  | 
|   `innodb_stats_auto_recalc`   |   是   |  無  | 
|   `innodb_stats_method`   |   是   |  無  | 
|   `innodb_stats_on_metadata`   |   是   |  無  | 
|   `innodb_stats_persistent`   |   是   |  無  | 
|   `innodb_stats_persistent_sample_pages`   |   是   |  無  | 
|   `innodb_stats_transient_sample_pages`   |   是   |  無  | 
|   `innodb_thread_concurrency`   |   否   |  無  | 
|   `innodb_thread_sleep_delay`   |   是   |   修改此參數不會有任何作用，因為對 Aurora 而言，`innodb_thread_concurrency` 永遠為 0。  | 
|   `interactive_timeout`   |   是   |   Aurora 會評估 `interactive_timeout` 和 `wait_timeout` 的最小值。然後使用該最小值作為逾時來結束所有閒置工作階段，包括互動式和非互動的工作階段。  | 
|  `internal_tmp_disk_storage_engine`  | 是 |  控制內部暫存資料表所要使用的記憶體內儲存引擎。允許的值為 `INNODB` 和 `MYISAM`。 此參數適用於 Aurora MySQL 第 2 版。  | 
|  `internal_tmp_mem_storage_engine`  |  有時候  |  控制內部暫存資料表所要使用的記憶體內儲存引擎。寫入器資料庫執行個體的允許值為 `MEMORY` 和 `TempTable`。 對於讀取器資料庫執行個體，此參數設定為 `TempTable` 且無法修改。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `join_buffer_size`   |   是   |  無  | 
|   `keep_files_on_create`   |   是   |  無  | 
|  `key_buffer_size`  |   是   |  MyISAM 資料表的金鑰快取。如需詳細資訊，請參閱 [keycache->cache\$1lock mutex](AuroraMySQL.Reference.Waitevents.md#key-cache.cache-lock)。  | 
|   `key_cache_age_threshold`   |   是   |  無  | 
|   `key_cache_block_size`   |   是   |  無  | 
|   `key_cache_division_limit`   |   是   |  無  | 
|   `local_infile`   |   是   |  無  | 
|   `lock_wait_timeout`   |   是   |  無  | 
|   `log-bin`   |   否   |   將 `binlog_format` 設定為 `STATEMENT`、`MIXED` 或 `ROW`，會自動將 `log-bin` 設定為 `ON`。將 `binlog_format` 設定為 `OFF`，會自動將 `log-bin` 設定為 `OFF`。如需更多詳細資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。  | 
|   `log_bin_trust_function_creators`   |   是   |  無  | 
|   `log_bin_use_v1_row_events`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `log_error`   |   否   |  無  | 
|  `log_error_suppression_list`  |  是  |  指定未記錄在 MySQL 錯誤日誌中的錯誤代碼清單。這可讓您忽略某些非關鍵錯誤情況，以協助保持錯誤日誌的乾淨。如需詳細資訊，請參閱 MySQL 文件中的 [log\$1error\$1suppression\$1list](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_error_suppression_list)。 此參數適用於 Aurora MySQL 3.03 版及更新版本。  | 
|   `log_output`   |   是   |  無  | 
|   `log_queries_not_using_indexes`   |   是   |  無  | 
|   `log_slave_updates`   |   否   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `log_replica_updates`。  | 
|   `log_replica_updates`   |   否   |   Aurora MySQL 第 3 版   | 
|   `log_throttle_queries_not_using_indexes`   |   是   |  無  | 
|   `log_warnings`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `long_query_time`   |   是   |  無  | 
|   `low_priority_updates`   |   是   |  `INSERT`、`UPDATE`、`DELETE`、和 `LOCK TABLE WRITE` 操作會等待到沒有擱置的 `SELECT` 操作為止。此參數只會影響僅使用資料表層級鎖定 (MyISAM、MEMORY、MERGE) 的儲存引擎。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `max_allowed_packet`   |   是   |  無  | 
|   `max_binlog_cache_size`   |   是   |  無  | 
|   `max_binlog_size`   |   否   |  無  | 
|   `max_binlog_stmt_cache_size`   |   是   |  無  | 
|   `max_connect_errors`   |   是   |  無  | 
|   `max_connections`   |   是   |  預設值以公式表示。如需如何在公式中計算 `DBInstanceClassMemory` 值的詳細資訊，請參閱 [資料庫參數公式變數](USER_ParamValuesRef.md#USER_FormulaVariables)。有關取決於執行個體類別的預設值，請參閱 [對 Aurora MySQL 資料庫執行個體的連線數上限](AuroraMySQL.Managing.Performance.md#AuroraMySQL.Managing.MaxConnections)。  | 
|   `max_delayed_threads`   |   是   |  設定要處理 `INSERT DELAYED` 陳述式的執行緒數量上限。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `max_error_count`   |   是   |  要儲存用於顯示的錯誤訊息、警告和備註訊息數量上限。 此參數適用於 Aurora MySQL 第 3 版。  | 
|  `max_execution_time`  | 是 |  執行 `SELECT` 陳述式的逾時，以毫秒為單位。值可以介於 `0`–`18446744073709551615` 之間。設為 `0` 時，不會發生逾時。 如需詳細資訊，請參閱 MySQL 文件中的 [max\$1execution\$1time](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_execution_time)。  | 
|   `max_heap_table_size`   |   是   |  無  | 
|   `max_insert_delayed_threads`   |   是   |  無  | 
|   `max_join_size`   |   是   |  無  | 
|   `max_length_for_sort_data`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `max_prepared_stmt_count`   |   是   |  無  | 
|   `max_seeks_for_key`   |   是   |  無  | 
|   `max_sort_length`   |   是   |  無  | 
|   `max_sp_recursion_depth`   |   是   |  無  | 
|   `max_tmp_tables`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `max_user_connections`   |   是   |  無  | 
|   `max_write_lock_count`   |   是   |  無  | 
|   `metadata_locks_cache_size`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `min_examined_row_limit`   |   是   |  使用此參數可防止所檢查資料列未達指定數量的查詢。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `myisam_data_pointer_size`   |   是   |  無  | 
|   `myisam_max_sort_file_size`   |   是   |  無  | 
|   `myisam_mmap_size`   |   是   |  無  | 
|   `myisam_sort_buffer_size`   |   是   |  無  | 
|   `myisam_stats_method`   |   是   |  無  | 
|   `myisam_use_mmap`   |   是   |  無  | 
|   `net_buffer_length`   |   是   |  無  | 
|   `net_read_timeout`   |   是   |  無  | 
|   `net_retry_count`   |   是   |  無  | 
|   `net_write_timeout`   |   是   |  無  | 
|   `old-style-user-limits`   |   是   |  無  | 
|   `old_passwords`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `optimizer_prune_level`   |   是   |  無  | 
|   `optimizer_search_depth`   |   是   |  無  | 
|   `optimizer_switch`   |   是   |   如需使用此參數之 Aurora MySQL 功能的相關資訊，請參閱 [Amazon Aurora MySQL 的最佳實務](AuroraMySQL.BestPractices.md)。  | 
|   `optimizer_trace`   |   是   |  無  | 
|   `optimizer_trace_features`   |   是   |  無  | 
|   `optimizer_trace_limit`   |   是   |  無  | 
|   `optimizer_trace_max_mem_size`   |   是   |  無  | 
|   `optimizer_trace_offset`   |   是   |  無  | 
|   `performance-schema-consumer-events-waits-current`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance-schema-consumer-events-waits-current`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance-schema-instrument`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance-schema-instrument`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema`   |   是   |  如果**來源**欄設定為 `Modified`，則 Performance Insights 會自動管理效能結構描述。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_accounts_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_accounts_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_global_instrumentation`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_global_instrumentation`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_thread_instrumentation`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_thread_instrumentation`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_stages_current`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_stages_current`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_stages_history`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_stages_history`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_stages_history_long`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_stages_history_long`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_statements_current`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_statements_current`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_statements_history`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_statements_history`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_statements_history_long`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_statements_history_long`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_waits_history`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_waits_history`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_events_waits_history_long`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_events_waits_history_long`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_consumer_statements_digest`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_consumer_statements_digest`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_digests_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_digests_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_stages_history_long_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_stages_history_long_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_stages_history_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_stages_history_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_statements_history_long_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_statements_history_long_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_statements_history_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_statements_history_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_transactions_history_long_size`   |  是  |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_transactions_history_long_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_transactions_history_size`   |  是  |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_transactions_history_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_waits_history_long_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_waits_history_long_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_events_waits_history_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_events_waits_history_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_hosts_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_hosts_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_cond_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_cond_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_cond_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_cond_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_digest_length`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_digest_length`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_file_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_file_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_file_handles`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_file_handles`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_file_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_file_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|  `performance_schema_max_index_stat`  |  是  |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_index_stat`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_memory_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_memory_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_metadata_locks`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_metadata_locks`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_mutex_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_mutex_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_mutex_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_mutex_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_prepared_statements_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_prepared_statements_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_program_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_program_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_rwlock_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_rwlock_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_rwlock_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_rwlock_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_socket_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_socket_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_socket_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_socket_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_sql_text_length`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_sql_text_length`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_stage_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_stage_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_statement_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_statement_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_statement_stack`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_statement_stack`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_table_handles`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_table_handles`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_table_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_table_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_table_lock_stat`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_table_lock_stat`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_thread_classes`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_thread_classes`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_max_thread_instances`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_max_thread_instances`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_session_connect_attrs_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_session_connect_attrs_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_setup_actors_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_setup_actors_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `performance_schema_setup_objects_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_setup_objects_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|  `performance_schema_show_processlist`  |  是  | 此參數決定使用那些 SHOW PROCESSLIST 方案：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html)此參數適用於 Aurora MySQL 2.12 版及更新版本以及 3 版。 如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_show_processlist`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。 | 
|   `performance_schema_users_size`   |   是   |  如果參數 `performance_schema` 的**來源**欄設定為 `Modified`，則效能結構描述會使用參數 `performance_schema_users_size`。如需啟用效能結構描述的相關資訊，請參閱 [決定績效詳情是否管理效能結構描述](USER_PerfInsights.EnableMySQL.determining-status.md)。  | 
|   `pid_file`   |   否   |  無  | 
|   `plugin_dir`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `port`   |   否   |   Aurora MySQL 會管理連線屬性，並在叢集內的所有資料庫執行個體上強制實行一致的設定。  | 
|   `preload_buffer_size`   |   是   |  預先載入索引時所配置的緩衝區大小。 此參數適用於 Aurora MySQL 第 3 版。  | 
|   `profiling_history_size`   |   是   |  無  | 
|   `query_alloc_block_size`   |   是   |  無  | 
|   `query_cache_limit`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `query_cache_min_res_unit`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `query_cache_size`   |   是   |  預設值以公式表示。如需如何在公式中計算 `DBInstanceClassMemory` 值的詳細資訊，請參閱 [資料庫參數公式變數](USER_ParamValuesRef.md#USER_FormulaVariables)。  已從 Aurora MySQL 第 3 版中移除。  | 
|  `query_cache_type`  |  是  |  已從 Aurora MySQL 第 3 版中移除。  | 
|   `query_cache_wlock_invalidate`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `query_prealloc_size`   |   是   |  無  | 
|   `range_alloc_block_size`   |   是   |  無  | 
|   `read_buffer_size`   |   是   |  無  | 
|   `read_only`   |   是   |  此參數開啟時，伺服器不允許任何更新，除了由複本執行緒執行的更新。 對於 Aurora MySQL 第 2 版，有效值如下： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html) 建議您使用 Aurora MySQL 第 2 版的資料庫叢集參數群組，以確保在容錯移轉時，`read_only` 參數有套用至新的寫入器執行個體。  讀取器執行個體一律是唯讀，因為 Aurora MySQL 會在所有讀取器上將 `innodb_read_only` 設為 `1`。因此，在讀取器執行個體上 `read_only` 是備援的。  已在 Aurora MySQL 第 3 版的執行個體層級中移除。  | 
|   `read_rnd_buffer_size`   |   是   |  無  | 
|   `relay-log`   |   否   |  無  | 
|   `relay_log_info_repository`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `relay_log_recovery`  |   否   |  無  | 
|  `replica_checkpoint_group`  |   是   |   Aurora MySQL 第 3 版   | 
|  `replica_checkpoint_period`  |   是   |  Aurora MySQL 第 3 版   | 
|  `replica_parallel_workers`  |   是   |  Aurora MySQL 第 3 版   | 
|  `replica_pending_jobs_size_max`  |   是   |  Aurora MySQL 第 3 版   | 
|  `replica_skip_errors`  |   是   |  Aurora MySQL 第 3 版   | 
|  `replica_sql_verify_checksum`  |   是   |  Aurora MySQL 第 3 版   | 
|   `safe-user-create`   |   是   |  無  | 
|   `secure_auth`   |   是   |  此參數在 Aurora MySQL 第 2 版中始終開啟。嘗試將其關閉會產生錯誤。 已從 Aurora MySQL 第 3 版中移除。  | 
|   `secure_file_priv`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|  `show_create_table_verbosity`  |  是  |  啟用此變數會導致 [SHOW\$1CREATE\$1TABLE](https://dev.mysql.com/doc/refman/5.7/en/show-create-table.html) 顯示 `ROW_FORMAT`，無論其是否為預設格式。 此參數適用於 Aurora MySQL 2.12 版及更新版本以及 3 版。  | 
|   `skip-slave-start`   |   否   |  無  | 
|   `skip_external_locking`   |   否   |  無  | 
|   `skip_show_database`   |   是   |  無  | 
|   `slave_checkpoint_group`   |   是   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `replica_checkpoint_group`。  | 
|   `slave_checkpoint_period`   |   是   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `replica_checkpoint_period`。  | 
|   `slave_parallel_workers`   |   是   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `replica_parallel_workers`。  | 
|   `slave_pending_jobs_size_max`   |   是   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `replica_pending_jobs_size_max`。  | 
|   `slave_sql_verify_checksum`   |   是   |   Aurora MySQL 第 2 版。在 Aurora MySQL 第 3 版中使用 `replica_sql_verify_checksum`。  | 
|   `slow_launch_time`   |   是   |  無  | 
|   `slow_query_log`   |   是   |   如需上傳日誌到 CloudWatch Logs 的說明，請參閱 [將 Amazon Aurora MySQL 日誌發佈至 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。  | 
|   `slow_query_log_file`   |   否   |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `socket`   |   否   |  無  | 
|   `sort_buffer_size`   |   是   |  無  | 
|   `sql_mode`   |   是   |  無  | 
|   `sql_select_limit`   |   是   |  無  | 
|   `stored_program_cache`   |   是   |  無  | 
|   `sync_binlog`   |   否   |  無  | 
|   `sync_master_info`   |   是   |  無  | 
|   `sync_source_info`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。  | 
|   `sync_relay_log`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `sync_relay_log_info`   |   是   |  無  | 
|   `sysdate-is-now`   |   是   |  無  | 
|   `table_cache_element_entry_ttl`   |   否   |  無  | 
|   `table_definition_cache`   |   是   |  預設值以公式表示。如需如何在公式中計算 `DBInstanceClassMemory` 值的詳細資訊，請參閱 [資料庫參數公式變數](USER_ParamValuesRef.md#USER_FormulaVariables)。  | 
|   `table_open_cache`   |   是   |  預設值以公式表示。如需如何在公式中計算 `DBInstanceClassMemory` 值的詳細資訊，請參閱 [資料庫參數公式變數](USER_ParamValuesRef.md#USER_FormulaVariables)。  | 
|   `table_open_cache_instances`   |   是   |  無  | 
|   `temp-pool`   |   是   |   已從 Aurora MySQL 第 3 版中移除。  | 
|   `temptable_max_mmap`   |   是   |  此參數適用於 Aurora MySQL 第 3 版。如需詳細資訊，請參閱 [Aurora MySQL 第 3 版的新暫時資料表行為](ams3-temptable-behavior.md)。  | 
|  `temptable_max_ram`  |  是  |  此參數適用於 Aurora MySQL 第 3 版。如需詳細資訊，請參閱 [Aurora MySQL 第 3 版的新暫時資料表行為](ams3-temptable-behavior.md)。  | 
|  `temptable_use_mmap`  |  是  |  此參數適用於 Aurora MySQL 第 3 版。如需詳細資訊，請參閱 [Aurora MySQL 第 3 版的新暫時資料表行為](ams3-temptable-behavior.md)。  | 
|  `thread_cache_size`  | 是 | 要快取的執行緒數目。此參數適用於 Aurora MySQL 第 2 版和第 3 版。 | 
|  `thread_handling`  |  否  |  無  | 
|   `thread_stack`   |  是  |  無  | 
|   `timed_mutexes`   |  是  |  無  | 
|  `tmp_table_size`  |  是  |  定義 `MEMORY` 儲存體引擎在 Aurora MySQL 3 版中建立內部記憶體暫時資料表的大小上限。 在 Aurora MySQL 3.04 及更新版本中，定義 `TempTable` 記憶體引擎建立的內部記憶體中暫時資料表的大小上限當 `aurora_tmptable_enable_per_table_limit` 時為 `ON`。 如需更多詳細資訊，請參閱 [限制記憶體內部暫存資料表的大小](ams3-temptable-behavior.md#ams3-temptable-behavior-limit)。  | 
|   `tmpdir`   |  否  |   Aurora MySQL 會在您無法直接存取檔案系統時使用受管執行個體。  | 
|   `transaction_alloc_block_size`   |   是   |  無  | 
|   `transaction_isolation`   |   是   |   此參數適用於 Aurora MySQL 第 3 版。其會取代 `tx_isolation`。  | 
|   `transaction_prealloc_size`   |   是   |  無  | 
|   `tx_isolation`   |   是   |   已從 Aurora MySQL 第 3 版中移除。其會遭 `transaction_isolation` 取代。  | 
|   `updatable_views_with_limit`   |   是   |  無  | 
|   `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`   |   否   |  無  | 
|   `wait_timeout`   |   是   |  Aurora 會評估 `interactive_timeout` 和 `wait_timeout` 的最小值。然後使用該最小值作為逾時來結束所有閒置工作階段，包括互動式和非互動的工作階段。  | 

## 不適用於 Aurora MySQL 的 MySQL 參數
<a name="AuroraMySQL.Reference.Parameters.Inapplicable"></a>

 由於 Aurora MySQL 與 MySQL 之間的架構不同，某些 MySQL 參數不適用於 Aurora MySQL。

以下 MySQL 參數不適用於 Aurora MySQL。這不是完整清單。
+ `activate_all_roles_on_login` – 此參數不適用於 Aurora MySQL 第 2 版。其可在 Aurora MySQL 第 3 版中使用。
+ `big_tables`
+ `bind_address`
+ `character_sets_dir`
+ `innodb_adaptive_flushing`
+ `innodb_adaptive_flushing_lwm`
+ `innodb_buffer_pool_chunk_size`
+ `innodb_buffer_pool_instances`
+ `innodb_change_buffering`
+ `innodb_checksum_algorithm`
+ `innodb_data_file_path`
+ `innodb_dedicated_server`
+ `innodb_doublewrite`
+ `innodb_flush_log_at_timeout` – 此參數不適用於 Aurora MySQL。如需更多詳細資訊，請參閱 [設定日誌緩衝區的排清頻率](AuroraMySQL.BestPractices.FeatureRecommendations.md#AuroraMySQL.BestPractices.Flush)。
+ `innodb_flush_method`
+ `innodb_flush_neighbors`
+ `innodb_io_capacity`
+ `innodb_io_capacity_max`
+ `innodb_log_buffer_size`
+ `innodb_log_file_size`
+ `innodb_log_files_in_group`
+ `innodb_log_spin_cpu_abs_lwm`
+ `innodb_log_spin_cpu_pct_hwm`
+ `innodb_log_writer_threads`
+ `innodb_max_dirty_pages_pct`
+ `innodb_numa_interleave`
+ `innodb_page_size`
+ `innodb_redo_log_capacity`
+ `innodb_redo_log_encrypt`
+ `innodb_undo_log_encrypt`
+ `innodb_undo_log_truncate`
+ `innodb_undo_logs`
+ `innodb_undo_tablespaces`
+ `innodb_use_native_aio`
+ `innodb_write_io_threads`

# Aurora MySQL 全域狀態變數
<a name="AuroraMySQL.Reference.GlobalStatusVars"></a>

 Aurora MySQL 包含社群 MySQL 的狀態變數，以及 Aurora 獨有的變數。您可以檢查這些變數，以了解資料庫引擎內發生的情況。如需社群 MySQL 中狀態變數的詳細資訊，請參閱社群 MySQL 8.0 文件中的[伺服器狀態變數](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html)。

您可以使用下列陳述式來尋找 Aurora MySQL 全域狀態變數目前的值：

```
show global status like '%aurora%';
```

**注意**  
資料庫引擎重新啟動時會清除全域狀態變數。

下列資料表說明 Aurora MySQL 使用的全域狀態變數。


| 名稱 | 描述 | 
| --- | --- | 
|  `AuroraDb_commits`  |  自上次重新啟動以來的提交總數。  | 
|  `AuroraDb_commit_latency`  |  自上次重新啟動以來的提交延遲的彙總。  | 
|  `AuroraDb_ddl_stmt_duration`  |  自上次重新啟動以來的 DDL 延遲的彙總。  | 
|  `AuroraDb_select_stmt_duration`  |  自上次重新啟動以來的 `SELECT` 陳述式延遲的彙總。  | 
|  `AuroraDb_insert_stmt_duration`  |  自上次重新啟動以來的 `INSERT` 陳述式延遲的彙總。  | 
|  `AuroraDb_update_stmt_duration`  |  自上次重新啟動以來的 `UPDATE` 陳述式延遲的彙總。  | 
|  `AuroraDb_delete_stmt_duration`  |  自上次重新啟動以來的 `DELETE` 陳述式延遲的彙總。  | 
|  `Aurora_binlog_io_cache_allocated`  | 配置給 Binlog 輸入/輸出快取記憶體的位元組數目。 | 
|  `Aurora_binlog_io_cache_read_requests`  |  對 binlog 輸入/輸出快取發起讀取請求的次數。  | 
|  `Aurora_binlog_io_cache_reads`  |  從 binlog 輸入/輸出快取發起讀取請求的次數。  | 
|  `Aurora_enhanced_binlog`  |  指示此資料庫執行個體是啟用還是停用增強型 binlog。如需詳細資訊，請參閱[設定 Aurora MySQL 的增強型 binlog](AuroraMySQL.Enhanced.binlog.md)。  | 
|  `Aurora_external_connection_count`  |  資料庫執行個體的資料庫連線數目，不包括用於資料庫運作狀態檢查的 RDS 服務連線。  | 
|  `Aurora_fast_insert_cache_hits`  |  成功擷取並驗證快取游標時會遞增的計數器。如需快速插入快取的詳細資訊，請參閱[Amazon Aurora MySQL 效能增強功能](Aurora.AuroraMySQL.Overview.md#Aurora.AuroraMySQL.Performance)。  | 
|  `Aurora_fast_insert_cache_misses`  |  快取游標不再有效，且 Aurora 執行正常索引周遊時會遞增的計數器。如需快速插入快取的詳細資訊，請參閱[Amazon Aurora MySQL 效能增強功能](Aurora.AuroraMySQL.Overview.md#Aurora.AuroraMySQL.Performance)。  | 
|  `Aurora_fts_cache_memory_used`  |  InnoDB 全文搜尋系統正在使用的位元組記憶體數量。此變數適用於 Aurora MySQL 3.07 版和更高版本。  | 
|  `Aurora_fwd_master_dml_stmt_count`  |  轉送至此寫入器資料庫執行個體的 DML 陳述式總數。此變數適用於 Aurora MySQL 2 版。  | 
|  `Aurora_fwd_master_dml_stmt_duration`  |  轉送至此寫入器資料庫執行個體的 DML 陳述式總持續時間。此變數適用於 Aurora MySQL 2 版。  | 
|  `Aurora_fwd_master_errors_rpc_timeout`  |  無法在寫入器上建立轉送連線的次數。  | 
|  `Aurora_fwd_master_errors_session_limit`  |  由於寫入器上 `session full` 原因而拒絕轉送查詢的次數。  | 
|  `Aurora_fwd_master_errors_session_timeout`  |  轉送工作階段由於寫入器逾時而結束的次數。  | 
|  `Aurora_fwd_master_open_sessions`  |  寫入器資料庫執行個體上轉送的工作階段數目。此變數適用於 Aurora MySQL 2 版。  | 
|  `Aurora_fwd_master_select_stmt_count`  |  轉送至此寫入器資料庫執行個體的 `SELECT` 陳述式總數。此變數適用於 Aurora MySQL 2 版。  | 
|  `Aurora_fwd_master_select_stmt_duration`  |  轉送至此寫入器資料庫執行個體的 `SELECT` 陳述式總持續時間。此變數適用於 Aurora MySQL 2 版。  | 
|  `Aurora_fwd_writer_dml_stmt_count`  |  轉送至此寫入器資料庫執行個體的 DML 陳述式總數。此變數適用於 Aurora MySQL 3 版。  | 
|  `Aurora_fwd_writer_dml_stmt_duration`  |  轉送至此寫入器資料庫執行個體的 DML 陳述式總持續時間。此變數適用於 Aurora MySQL 3 版。  | 
|  `Aurora_fwd_writer_errors_rpc_timeout`  |  無法在寫入器上建立轉送連線的次數。  | 
|  `Aurora_fwd_writer_errors_session_limit`  |  由於寫入器上 `session full` 原因而拒絕轉送查詢的次數。  | 
|  `Aurora_fwd_writer_errors_session_timeout`  |  轉送工作階段由於寫入器逾時而結束的次數。  | 
|  `Aurora_fwd_writer_open_sessions`  |  寫入器資料庫執行個體上轉送的工作階段數目。此變數適用於 Aurora MySQL 3 版。  | 
|  `Aurora_fwd_writer_select_stmt_count`  |  轉送至此寫入器資料庫執行個體的 `SELECT` 陳述式總數。此變數適用於 Aurora MySQL 3 版。  | 
|  `Aurora_fwd_writer_select_stmt_duration`  |  轉送至此寫入器資料庫執行個體的 `SELECT` 陳述式總持續時間。此變數適用於 Aurora MySQL 3 版。  | 
|  `Aurora_lockmgr_buffer_pool_memory_used`  |  Aurora MySQL 鎖定管理員正在使用的緩衝集區記憶體大小 (以位元組為單位)。  | 
|  `Aurora_lockmgr_memory_used`  |  Aurora MySQL 鎖定管理員正在使用的記憶體大小 (以位元組為單位)。  | 
|  `Aurora_ml_actual_request_cnt`  |  Aurora MySQL 從 Aurora 機器學習服務接收的彙總請求計數，涵蓋資料庫執行個體的使用者執行的所有查詢。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_actual_response_cnt`  |  Aurora MySQL 從 Aurora Machine Learning 服務接收的彙總回應計數，涵蓋資料庫執行個體的使用者執行的所有查詢。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_cache_hit_cnt`  |  Aurora MySQL 從 Aurora Machine Learning 服務接收的彙總內部快取命中計數，涵蓋資料庫執行個體的使用者執行的所有查詢。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_logical_request_cnt`  |  自上次重新設定狀態後，資料庫執行個體已評估傳送至 Aurora 機器學習服務的邏輯請求數目。視是否使用批次處理而定，此值可能會大於 `Aurora_ml_actual_request_cnt`。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_logical_response_cnt`  |  Aurora MySQL 從 Aurora Machine Learning 服務接收的彙總回應計數，涵蓋資料庫執行個體的使用者執行的所有查詢。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_retry_request_cnt`  |  自上次重新設定狀態後，資料庫執行個體傳送至 Aurora 機器學習服務的重試請求數目。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `Aurora_ml_single_request_cnt`  |  由非批次模式評估的 Aurora Machine Learning 函數的彙總計數，涵蓋資料庫執行個體的使用者執行的所有查詢。如需詳細資訊，請參閱[將 Amazon Aurora Machine Learning 與 Aurora MySQL 搭配使用](mysql-ml.md)。  | 
|  `aurora_oom_avoidance_recovery_state`  |  指出此資料庫執行個體的 Aurora 記憶體不足 (OOM) 迴避復原是否處於 `ACTIVE` 或 `INACTIVE` 狀態。 此變數適用於 Aurora MySQL 3.06.0 版和更高版本。  | 
|  `aurora_oom_reserved_mem_enter_kb`  |  代表在 Aurora 的 OOM 處理機制中進入 `RESERVED` 狀態的閾值。 當伺服器上可用的記憶體低於此閾值時，`aurora_oom_status` 會變更為 `RESERVED`，表示伺服器即將接近記憶體用量的臨界層級。 此變數適用於 Aurora MySQL 3.06.0 版和更高版本  | 
|  `aurora_oom_reserved_mem_exit_kb`  |  代表在 Aurora 的 OOM 處理機制中結束 `RESERVED` 狀態的閾值。 當伺服器上的可用記憶體超過此閾值時，`aurora_oom_status` 會還原到 `NORMAL`，表示伺服器已返回到具有足夠記憶體資源的更穩定狀態。 此變數適用於 Aurora MySQL 3.06.0 版和更高版本。  | 
|  `aurora_oom_status`  |  代表此資料庫執行個體目前的 OOM 狀態。當值為 `NORMAL` 時，表示有足夠的記憶體資源。 如果值變更為 `RESERVED`，則表示伺服器的可用記憶體不足。根據 `aurora_oom_response` 參數組態採取動作。 如需詳細資訊，請參閱[故障診斷 Aurora MySQL 資料庫記憶體不足的問題](AuroraMySQLOOM.md)。 此變數適用於 Aurora MySQL 3.06.0 版和更高版本。  | 
|  `Aurora_pq_bytes_returned`  |  在平行查詢期間已傳輸至前端節點之 Tuple 資料結構的位元組數目。除以 16,384 以針對 `Aurora_pq_pages_pushed_down` 進行比較。  | 
|  `Aurora_pq_max_concurrent_requests`  |  可以同時在此 Aurora 資料庫執行個體上執行之平行查詢工作階段的數目上限。這是取決於 AWS 資料庫執行個體類別的固定數字。  | 
|  `Aurora_pq_pages_pushed_down`  |  資料頁面的數目 (每個頁面的固定大小為 16 KiB)，在這些資料頁面中平行查詢已避免透過網路將資料傳輸至前端節點。  | 
|  `Aurora_pq_request_attempted`  |  已請求的平行查詢工作階段數目。此值可能代表每個查詢多個工作階段，取決於 SQL 建構，例如子查詢和聯結。  | 
|  `Aurora_pq_request_executed`  |  已成功執行的平行查詢工作階段數目。  | 
|  `Aurora_pq_request_failed`  |  已傳回錯誤至用戶端的平行查詢工作階段數目。在某些情況下，平行查詢的請求可能失敗，例如，因為儲存層中發生問題。在這些情況下，會使用非平行查詢機制來重試失敗的查詢部分。如果重試的查詢也失敗，則錯誤會傳回至用戶端，而且此計數器會遞增。  | 
|  `Aurora_pq_request_in_progress`  |  目前進行中的平行查詢工作階段數目。此數目適用於您已連線的特定 Aurora 資料庫執行個體，但不適用於整個 Aurora 資料庫叢集。若要查看資料庫執行個體是否接近並行限制，請將此值與 `Aurora_pq_max_concurrent_requests` 比較。  | 
|  `Aurora_pq_request_not_chosen`  |  未選擇平行查詢以滿足查詢的次數。此值是數個其他更精細計數器的總和。`EXPLAIN` 陳述式可以增加此計數器，即使查詢實際上並未執行。  | 
|  `Aurora_pq_request_not_chosen_below_min_rows`  |  由於資料表中的資料列數而未選擇平行查詢的次數。`EXPLAIN` 陳述式可以增加此計數器，即使查詢實際上並未執行。  | 
|  `Aurora_pq_request_not_chosen_column_bit`  |  使用非平行查詢處理路徑，因為投影的資料欄清單中不支援的資料類型的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_column_geometry`  |  因為 `GEOMETRY` 資料表具有資料類型的資料行，所以使用非平行查詢處理路徑的平行查詢要求數目。如需移除此限制之 Aurora MySQL 版本的相關資訊，請參閱[將平行查詢叢集升級至 Aurora MySQL 第 3 版](aurora-mysql-parallel-query-optimizing.md#aurora-mysql-parallel-query-upgrade-pqv2)。  | 
|  `Aurora_pq_request_not_chosen_column_lob`  |  使用非平行查詢處理路徑的平行查詢要求數目，因為資料表具有 `LOB` 資料類型的 `VARCHAR` 資料欄，或因宣告長度而儲存在外部的資料欄。如需移除此限制之 Aurora MySQL 版本的相關資訊，請參閱[將平行查詢叢集升級至 Aurora MySQL 第 3 版](aurora-mysql-parallel-query-optimizing.md#aurora-mysql-parallel-query-upgrade-pqv2)。  | 
|  `Aurora_pq_request_not_chosen_column_virtual`  |  因為資料表包含虛擬資料欄，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_custom_charset`  |  因為資料表具有自訂字元集的資料欄，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_fast_ddl`  |  使用非平行查詢處理路徑的平行查詢要求數目，因為資料表目前正在變更快速的 DDL `ALTER` 陳述式。  | 
|  `Aurora_pq_request_not_chosen_few_pages_outside_buffer_pool`  |  即使小於 95% 的資料表資料在緩衝集區中，也未選擇平行查詢的次數，因為沒有足夠的未置於緩衝的資料表資料，讓平行查詢值得執行。  | 
|  `Aurora_pq_request_not_chosen_full_text_index`  |  因為資料表具有全文檢索索引，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_high_buffer_pool_pct`  |  因為高百分比的資料表資料 (目前，大於 95%) 已在緩衝集區中，所以未選擇平行查詢的次數。在這些情況下，最佳化器判定從緩衝集區讀取資料最有效率。`EXPLAIN` 陳述式可以增加此計數器，即使查詢實際上並未執行。  | 
|  `Aurora_pq_request_not_chosen_index_hint`  |  因為查詢包含索引提示，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_innodb_table_format`  |  因為資料表使用不支援的 InnoDB 資料列格式，所以會使用非平行查詢處理路徑的平行查詢要求數目。Aurora 平行查詢只適用於 `COMPACT`、`REDUNDANT` 和 `DYNAMIC` 資料列格式。  | 
|  `Aurora_pq_request_not_chosen_long_trx`  |  由於在長時間執行的交易內啟動查詢，而使用非平行查詢處理路徑的平行查詢請求數目。`EXPLAIN` 陳述式可以增加此計數器，即使查詢實際上並未執行。  | 
|  `Aurora_pq_request_not_chosen_no_where_clause`  |  因為查詢不包含任何 `WHERE` 子句，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_range_scan`  |  因為查詢在索引上使用範圍掃描，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_row_length_too_long`  |  因為所有資料欄的總合長度太長，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_small_table`  |  由於資料表中的整體大小 (由資料列數和平均資料列長度決定) 而未選擇平行查詢的次數。`EXPLAIN` 陳述式可以增加此計數器，即使查詢實際上並未執行。  | 
|  `Aurora_pq_request_not_chosen_temporary_table`  |  因為查詢參考使用不支援 `MyISAM` 或 `memory` 資料表類型的暫存資料表，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_tx_isolation`  |  因為查詢使用不支援的交易隔離層級，所以會使用非平行查詢處理路徑的平行查詢要求數目。在讀取器資料庫執行個體上，平行查詢僅適用於 `REPEATABLE READ` 和 `READ COMMITTED` 隔離層級。  | 
|  `Aurora_pq_request_not_chosen_update_delete_stmts`  |  因為查詢是 `UPDATE` 或 `DELETE` 陳述式的一部分，所以會使用非平行查詢處理路徑的平行查詢要求數目。  | 
|  `Aurora_pq_request_not_chosen_unsupported_access`  |  因為 `WHERE` 子句不符合平行查詢的條件，所以使用非平行查詢處理路徑的平行查詢請求數目。如果查詢不需要資料密集掃描，或如果查詢是 `DELETE` 或 `UPDATE` 陳述式，則會發生此結果。  | 
|  `Aurora_pq_request_not_chosen_unsupported_storage_type`  |  由於 Aurora MySQL 資料庫叢集未使用支援的 Aurora 叢集儲存組態，因此平行查詢數目請求是使用非平行查詢處理路徑。如需詳細資訊，請參閱[限制](aurora-mysql-parallel-query.md#aurora-mysql-parallel-query-limitations)。 此參數適用於 Aurora MySQL 3.04 版及更新版本。  | 
|  `Aurora_pq_request_throttled`  |  由於已在特定 Aurora 資料庫執行個體上執行的並行平行查詢數目已達到上限，而未選擇平行查詢的次數。  | 
|  `Aurora_repl_bytes_received`  |  自上次重新啟動後，複寫至 Aurora MySQL 讀取器資料庫執行個體的位元組數目。如需詳細資訊，請參閱[以 Amazon Aurora MySQL 進行複寫](AuroraMySQL.Replication.md)。  | 
|  `Aurora_reserved_mem_exceeded_incidents`  |  自上次重新啟動後，引擎超出保留記憶體限制的次數。如果已設定 `aurora_oom_response`，此閾值定義何時觸發記憶體不足 (OOM) 避免活動。如需 Aurora MySQL OOM 回應的詳細資訊，請參閱[故障診斷 Aurora MySQL 資料庫記憶體不足的問題](AuroraMySQLOOM.md)。  | 
|  `aurora_temptable_max_ram_allocation`  |  自上次重新啟動後，內部暫存資料表隨時使用的記憶體數量上限，以位元組為單位。  | 
|  `aurora_temptable_ram_allocation`  |  內部暫存資料表使用的目前記憶體數量，以位元組為單位。  | 
|  `Aurora_in_memory_relaylog_status`  |  內部記憶體轉送日誌功能的目前狀態，值可以是 ENABLED 或 DISABLED。  | 
|  `Aurora_in_memory_relaylog_disabled_reason`  |  顯示內部記憶體轉送日誌功能狀態的目前原因，如果功能已停用，則會顯示說明功能停用原因的訊息。  | 
|  `Aurora_in_memory_relaylog_fallback_count`  |  顯示內部記憶體轉送日誌功能至持久性轉送日誌模式 (舊版) 的備用總數。備用可能是由於單一事件大於快取大小 (目前為 128MB) 或交易重試超過複本交易重試限制 replica\$1transaction\$1retries 所致。  | 
|  `Aurora_in_memory_relaylog_recovery_count`  |  顯示自動執行的內部記憶體轉送日誌復原的總數。此計數包括備用總數，以及在暫時備用之後，自動模式切換回內部記憶體轉送日誌模式的次數。  | 
|  `Aurora_thread_pool_thread_count`  |  Aurora 執行緒集區中目前的執行緒數目。如需 Aurora MySQL 執行緒集區回應的詳細資訊，請參閱[執行緒集區](AuroraMySQL.Managing.Tuning.concepts.md#AuroraMySQL.Managing.Tuning.concepts.processes.pool)。  | 
|  `Aurora_tmz_version`  |  表示資料庫叢集使用時區資訊的目前版本。這些值會遵循網際網路號碼分配機構 (IANA) 格式：`YYYYsuffix`，例如 `2022a` 和 `2023c`。 此參數適用於 Aurora MySQL 2.12 版及更新版本以及第 3.04 版及更新版本。  | 
|  `Aurora_zdr_oom_threshold`  |  代表 Aurora 資料庫執行個體啟動零停機時間重新啟動 (ZDR)，從潛在記憶體相關問題中復原的記憶體閾值，以 KB 為單位。  | 
|  `server_aurora_das_running`  |  指示此資料庫執行個體上是啟用還是停用資料庫活動串流 (DAS)。如需詳細資訊，請參閱[使用資料庫活動串流來監控 Amazon Aurora](DBActivityStreams.md)。  | 

## 不適用於 Aurora MySQL 的 MySQL 狀態變數
<a name="AuroraMySQL.Reference.StatusVars.Inapplicable"></a><a name="status_vars"></a>

 由於 Aurora MySQL 與 MySQL 之間的架構不同，某些 MySQL 狀態變數不適用於 Aurora MySQL。

 以下 MySQL 狀態變數不適用於 Aurora MySQL。這不是完整清單。
+  `innodb_buffer_pool_bytes_dirty` 
+  `innodb_buffer_pool_pages_dirty` 
+  `innodb_buffer_pool_pages_flushed` 

Aurora MySQL 第 3 版會移除 Aurora MySQL 第 2 版中的下列狀態變數：
+  `AuroraDb_lockmgr_bitmaps0_in_use` 
+  `AuroraDb_lockmgr_bitmaps1_in_use` 
+  `AuroraDb_lockmgr_bitmaps_mem_used` 
+  `AuroraDb_thread_deadlocks` 
+  `available_alter_table_log_entries` 
+  `Aurora_lockmgr_memory_used` 
+  `Aurora_missing_history_on_replica_incidents` 
+  `Aurora_new_lock_manager_lock_release_cnt` 
+  `Aurora_new_lock_manager_lock_release_total_duration_micro` 
+  `Aurora_new_lock_manager_lock_timeout_cnt` 
+  `Aurora_total_op_memory` 
+  `Aurora_total_op_temp_space` 
+  `Aurora_used_alter_table_log_entries` 
+  `Aurora_using_new_lock_manager` 
+  `Aurora_volume_bytes_allocated` 
+  `Aurora_volume_bytes_left_extent` 
+  `Aurora_volume_bytes_left_total` 
+  `Com_alter_db_upgrade` 
+  `Compression` 
+  `External_threads_connected` 
+  `Innodb_available_undo_logs` 
+  `Last_query_cost` 
+  `Last_query_partial_plans` 
+  `Slave_heartbeat_period` 
+  `Slave_last_heartbeat` 
+  `Slave_received_heartbeats` 
+  `Slave_retried_transactions` 
+  `Slave_running` 
+  `Time_since_zero_connections` 

這些 MySQL 狀態變數可在 Aurora MySQL 第 2 版中使用，但它們不可在 Aurora MySQL 第 3 版中使用：
+  `Innodb_redo_log_enabled` 
+  `Innodb_undo_tablespaces_total` 
+  `Innodb_undo_tablespaces_implicit` 
+  `Innodb_undo_tablespaces_explicit` 
+  `Innodb_undo_tablespaces_active` 

# Aurora MySQL 等待事件
<a name="AuroraMySQL.Reference.Waitevents"></a>

以下是 Aurora MySQL 的一些常見等候事件。

**注意**  
如需詳細了解使用等待事件調整 Aurora MySQL 效能，請參閱 [使用等待事件調校 Aurora MySQL](AuroraMySQL.Managing.Tuning.wait-events.md)。  
如需關於用於 MySQL 等候事件的命名慣例資訊，請參閱 MySQL 文件中的[效能結構描述工具命名慣例](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-instrument-naming.html)。

**cpu**  
準備好執行的作用中連線數量一致高於 vCPU 的數量。如需詳細資訊，請參閱[cpu](ams-waits.cpu.md)。

**io/aurora\$1redo\$1log\$1flush**  
工作階段正在將資料保留至 Aurora 儲存體。一般而言，此等候事件是供 Aurora MySQL 的寫入輸入/輸出操作使用的。如需詳細資訊，請參閱[io/aurora\$1redo\$1log\$1flush](ams-waits.io-auredologflush.md)。

**io/aurora\$1respond\$1to\$1client**  
查詢處理已完成，並將結果傳回至下列 Aurora MySQL 版本的應用程式用戶端：2.10.2 及更高的 2.10 版本、2.09.3 及更高的 2.09 版本，以及 2.07.7 及更高的 2.07 版本。將資料庫執行個體類別的網路頻寬與傳回的結果集大小進行比較。此外，請檢查用戶端回應時間。如果用戶端沒有回應，而且無法處理 TCP 封包，則可能會發生封包捨棄和 TCP 重新傳輸。這種情況會對網路頻寬造成負面影響。在低於 2.10.2、2.09.3 和 2.07.7 的版本中，等待事件錯誤地包含閒置時間。若要了解如何在此等待重要時調整資料庫，請參閱 [io/aurora\$1respond\$1to\$1client](ams-waits.respond-to-client.md)。

**io/file/csv/data**  
執行緒正在以逗號分隔值 (CSV) 格式寫入資料表。檢查您的 CSV 資料庫使用量。此事件通常是因為資料表上設定 `log_output`。

**io/file/sql/binlog**  
執行緒正在等待將寫入至磁碟的二進位日誌 (binlog) 檔案。

**io/redo\$1log\$1flush**  
工作階段正在將資料保留至 Aurora 儲存體。一般而言，此等候事件是供 Aurora MySQL 的寫入輸入/輸出操作使用的。如需詳細資訊，請參閱[io/redo\$1log\$1flush](ams-waits.io-redologflush.md)。

**io/socket/sql/client\$1connection**  
`mysqld` 程式忙於建立執行緒來處理傳入的新用戶端連線。如需詳細資訊，請參閱[io/socket/sql/client\$1connection](ams-waits.client-connection.md)。

**io/table/sql/handler**  
引擎正在等待存取資料表。無論是在緩衝集區中快取資料，還是在磁碟上存取資料，都會發生此事件。如需詳細資訊，請參閱[io/table/sql/handler](ams-waits.waitio.md)。

**lock/table/sql/handler**  
此等候事件是一個資料表鎖定事件處理常式。如需效能結構描述中原子和分子事件的相關資訊，請參閱 MySQL 文件中的[效能結構描述原子與分子事件](https://dev.mysql.com/doc/refman/8.0/en/performance-schema-atom-molecule-events.html)。

**synch/cond/innodb/row\$1lock\$1wait**  
多個資料處理語言 (DML) 陳述式正在同時存取相同的資料庫資料列。如需詳細資訊，請參閱[synch/cond/innodb/row\$1lock\$1wait](ams-waits.row-lock-wait.md)。

**synch/cond/innodb/row\$1lock\$1wait\$1cond**  
多個 DML 陳述式正在同時存取相同的資料庫資料列。如需詳細資訊，請參閱[synch/cond/innodb/row\$1lock\$1wait\$1cond](ams-waits.row-lock-wait-cond.md)。

**synch/cond/sql/MDL\$1context::COND\$1wait\$1status**  
執行緒正在等待資料表中繼資料鎖定。引擎使用這種類型的鎖定來管理資料庫結構描述的並行存取，並確保資料一致性。如需詳細資訊，請參閱 MySQL 文件中的[最佳化鎖定操作](https://dev.mysql.com/doc/refman/8.0/en/locking-issues.html)。若要了解如何在此事件重要時調整資料庫，請參閱 [synch/cond/sql/MDL\$1context::COND\$1wait\$1status](ams-waits.cond-wait-status.md)。

**synch/cond/sql/MYSQL\$1BIN\$1LOG::COND\$1done**  
您已開啟二進位日誌。可能有很高的遞交輸送量、大量交易遞交，或複本讀取 Binlog。考慮使用多列陳述式或將陳述式綁定成一個交易。在 Aurora 中，使用全域資料庫而非二進位日誌複寫，或使用 `aurora_binlog_*` 參數。

**synch/mutex/innodb/aurora\$1lock\$1thread\$1slot\$1futex**  
多個 DML 陳述式正在同時存取相同的資料庫資料列。如需詳細資訊，請參閱[synch/mutex/innodb/aurora\$1lock\$1thread\$1slot\$1futex](ams-waits.waitsynch.md)。

**synch/mutex/innodb/buf\$1pool\$1mutex**  
緩衝集區不夠大，無法容納工作資料集。或者，工作負載會從特定資料表存取頁面，這會導致緩衝集區中的爭用。如需詳細資訊，請參閱[synch/mutex/innodb/buf\$1pool\$1mutex](ams-waits.bufpoolmutex.md)。

**synch/mutex/innodb/fil\$1mutex**  
程序正在等待存取資料表空間記憶體快取。如需詳細資訊，請參閱[synch/mutex/innodb/fil\$1mutex](ams-waits.innodb-fil-system-mutex.md)。

**synch/mutex/innodb/fil\$1mutex**  
作業是以一致或控制方式在 InnoDB 中檢查、更新、刪除或新增交易 ID。這些作業需要 `trx_sys` 互斥呼叫，這是由效能結構描述偵測來追蹤。作業包括在資料庫啟動或關閉時管理交易系統、回復、復原清除、資料列讀取存取，以及緩衝集區載入。具有大量交易的高資料庫負載會導致此等待事件頻繁出現。如需詳細資訊，請參閱[synch/mutex/innodb/fil\$1mutex](ams-waits.trxsysmutex.md)。

**synch/mutex/mysys/KEY\$1CACHE::cache\$1lock**  <a name="key-cache.cache-lock"></a>
`keycache->cache_lock` 互斥鎖定可控制對 MyISAM 資料表之索引鍵快取的存取。雖然 Aurora MySQL 不允許使用 MyISAM 資料表來存放持久性資料，但它們是用來存放內部暫存資料表。請考慮檢查 `created_tmp_tables` 或 `created_tmp_disk_tables` 狀態計數器，因為在某些情況下，暫存資料表會在不再容納於記憶體時寫入至磁碟。

**synch/mutex/sql/file \$1A\$1table:: LOCK\$1Offset**  
開啟或建立資料表中繼資料檔案時，引擎會取得此互斥。當這個等待事件過於頻繁發生時，表示正在建立或開啟的資料表數目已爆增。

**synch/mutex/sql/FILE\$1AS\$1TABLE::LOCK\$1shim\$1lists**  
在追蹤所開啟資料表的內部結構上執行 `reset_size`、`detach_contents` 或 `add_contents` 之類的作業時，引擎會取得此互斥。互斥會同步對清單內容的存取。當這個等待事件頻繁發生時，它表示先前存取的資料表集突然變更。引擎需要存取新的資料表或放下與先前存取之資料表相關的內容。

**synch/mutex/sql/LOCK\$1open**  
工作階段正在開啟的資料表數目超過資料表定義快取或資料表開啟快取的大小。增加這些快取的大小。如需詳細資訊，請參閱 [MySQL 如何開啟及關閉資料表](https://dev.mysql.com/doc/refman/8.0/en/table-cache.html)。

**synch/mutex/sql/LOCK\$1table\$1cache**  
工作階段正在開啟的資料表數目超過資料表定義快取或資料表開啟快取的大小。增加這些快取的大小。如需詳細資訊，請參閱 [MySQL 如何開啟及關閉資料表](https://dev.mysql.com/doc/refman/8.0/en/table-cache.html)。

**synch/mutex/sql/LOG**  
在此等候事件中，執行緒正在等待日誌鎖定。例如，一個執行緒可能會等待鎖定寫入至慢查詢日誌檔案。

**synch/mutex/sql/MYSQL\$1BIN\$1LOG::LOCK\$1commit**  
在此等候事件中，有一個執行緒正在等候取得欲提交至二進位日誌的鎖定。在具有非常高度變動率的資料庫上可能會發生二進位記錄爭用。依照您的 MySQL 版本，某些鎖定會用於保護二進位日誌的一致性和耐用性。在 RDS for MySQL 中，二進位日誌用於複寫與自動備份處理。在 Aurora MySQL 中，原生複寫或備份並不需要二進位日誌。他們依預設為停用，但可以啟用並用於外部複寫或變更資料擷取。如需詳細資訊，請參閱 MySQL 文件中的[二進位日誌](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html)。

**sync/mutex/sql/MYSQL\$1BIN\$1LOG::LOCK\$1dump\$1thread\$1metrics\$1collection**  
如果開啟了二進位記錄，則在引擎將作用中傾印執行緒指標列印至引擎錯誤記錄日誌和內部作業映射時，其會取得此互斥。

**sync/mutex/sql/MYSQL\$1BIN\$1LOG::LOCK\$1inactive\$1binlogs\$1map**  
如果開啟了二進位記錄，則在引擎新增至其中、從中刪除，或搜尋最新清單後面的完整 Binlog 檔案清單時，其會取得此互斥。

**sync/mutex/sql/MYSQL\$1BIN\$1LOG::LOCK\$1io\$1cache**  
如果開啟了二進位記錄，引擎會在 Aurora Binlog IO 快取作業期間取得此互斥：配置、調整大小、釋放、寫入、讀取、清除和存取快取資訊。如果此事件經常發生，引擎會存取 Binlog 事件存放所在的快取。若要減少等待時間，請減少遞交。嘗試將多個陳述式分組成單一交易。

**synch/mutex/sql/MYSQL\$1BIN\$1LOG::LOCK\$1log**  
您已開啟二進位日誌。可能有很高的遞交輸送量、許多交易遞交，或複本讀取 Binlog。考慮使用多列陳述式或將陳述式綁定成一個交易。在 Aurora 中，使用全域資料庫而非二進位日誌複寫，或使用 `aurora_binlog_*` 參數。

**synch/mutex/sql/SERVER\$1THREAD::LOCK\$1sync**  
互斥 `SERVER_THREAD::LOCK_sync` 是在排程、處理或啟動執行緒以進行檔案寫入期間取得的。過度發生此等待事件表示資料庫中的寫入活動增加。

**synch/mutex/sql/TABLESPACES:lock**  
引擎會在下列資料表空間作業期間取得 `TABLESPACES:lock` 互斥：建立、刪除、截斷和延伸。過度發生此等待事件表示資料表空間作業頻率很高。範例是將大量資料載入至資料庫。

**synch/rwlock/innodb/dict**  
在此等候事件中，執行緒在 InnoDB 資料字典保存的 rwlock (讀取寫入鎖定) 上進行等待。

**synch/rwlock/innodb/dict\$1operation\$1lock**  
在此等候事件中，執行緒正在 InnoDB 資料字典操作上持有鎖定。

**synch/rwlock/innodb/dict sys RW lock**  
同時觸發資料定義語言程式碼 (DDL) 中的大量並行資料控制語言陳述式 (DCL)。在一般應用程式活動期間，減少應用程式對 DDL 的相依性。

**synch/rwlock/innodb/index\$1tree\$1rw\$1lock**  
大量類似的資料處理語言 (DML) 陳述式正在同時存取相同的資料庫物件。嘗試使用多列陳述式。此外，將工作負載分散到不同的資料庫物件上。例如，實作分割。

**synch/sxlock/innodb/dict\$1operation\$1lock**  
同時觸發資料定義語言程式碼 (DDL) 中的大量並行資料控制語言陳述式 (DCL)。在一般應用程式活動期間，減少應用程式對 DDL 的相依性。

**synch/sxlock/innodb/dict\$1sys\$1lock**  
同時觸發資料定義語言程式碼 (DDL) 中的大量並行資料控制語言陳述式 (DCL)。在一般應用程式活動期間，減少應用程式對 DDL 的相依性。

**synch/sxlock/innodb/hash\$1table\$1locks**  
工作階段找不到緩衝集區中的頁面。引擎需要讀取檔案或修改緩衝集區的最近最少使用 (LRU) 清單。考慮增加緩衝區快取大小，並改善相關查詢的存取路徑。

**synch/sxlock/innodb/index\$1tree\$1rw\$1lock**  
許多類似的資料處理語言 (DML) 陳述式正在同時存取相同的資料庫物件。嘗試使用多列陳述式。此外，將工作負載分散到不同的資料庫物件上。例如，實作分割。

**synch/mutex/innodb/temp\$1pool\$1manager\$1mutex**  
當工作階段正在等待取得互斥以管理工作階段暫存資料表空間集區時，會發生此等待事件。

如需同步等待事件疑難排解的詳細資訊，請參閱 [Why is my MySQL DB instance showing a high number of active sessions waiting on SYNCH wait events in Performance Insights?](https://aws.amazon.com/premiumsupport/knowledge-center/aurora-mysql-synch-wait-events/) (為什麼我的 MySQL 資料庫執行個體在績效詳情中會顯示等待 SYNCH 等待事件的大量作用中工作階段？)。

# Aurora MySQL 執行緒狀態
<a name="AuroraMySQL.Reference.thread-states"></a>

以下是 Aurora MySQL 的一些常見執行緒狀態。

**檢查許可**  
執行緒正在檢查伺服器是否具有執行陳述式所需的權限。

**檢查查詢快取中是否有查詢**  
伺服器正在檢查目前的查詢是否存在於查詢快取中。

**已清除**  
這是連線的最終狀態，表示其工作已完成，但用戶端尚未將其關閉。最好的解決方案是明確關閉程式碼中的連線。或者，您可以在參數群組中為 `wait_timeout` 設定較低的值。

**關閉資料表**  
執行緒正在將已變更的資料表資料清空到磁碟並關閉已使用的資料表。如果這不是快速作業，請針對執行個體類別網路頻寬來驗證網路頻寬耗用指標。另外，請檢查 `table_open_cache` 和 `table_definition_cache` 參數的參數值是否允許足夠的資料表同時開啟，以便引擎不需要經常開啟和關閉資料表。這些參數會影響執行個體上的記憶體耗用量。

**將 HEAP 轉換為 MyISAM**  
查詢正在將暫時資料表從記憶體內轉換為磁碟。這種轉換是必要的，因為在查詢處理的中繼步驟中由 MySQL 建立的暫時資料表對於記憶體來說增長太大。檢查 `tmp_table_size` 和 `max_heap_table_size` 的值。在更新的版本中，這個執行緒狀態名稱是 `converting HEAP to ondisk`。

**將 HEAP 轉換為 ondisk**  
執行緒正在將內部暫時資料表從記憶體內資料表轉換為磁碟上資料表。

**複製到 tmp 資料表**  
執行緒正在處理 `ALTER TABLE` 陳述式。在建立了具有新結構的資料表之後，但在將資料列複製到其中之前，會發生此狀態。對於處於此狀態的執行緒，您可以使用效能結構描述來取得複製作業進度的相關資訊。

**建立排序索引**  
Aurora MySQL 正在執行排序，因為它不能使用現有的索引來滿足查詢的 `ORDER BY` 或 `GROUP BY`子句。如需更多詳細資訊，請參閱 [正在建立排序索引](ams-states.sort-index.md)。

**建立資料表**  
執行緒正在建立永久或暫時資料表。

**延遲遞交已順利完成**  
Aurora MySQL 中的非同步遞交已收到確認，且已完成。

**延遲遞交已順利啟動**  
Aurora MySQL 執行緒已啟動非同步遞交程序，但正在等待確認。這通常是交易的真正遞交時間。

**延遲傳送已順利完成**  
當回應傳送至用戶端時，可以釋放繫結至連線的 Aurora MySQL 工作者執行緒。執行緒可以開始其他工作。狀態 `delayed send ok` 表示對用戶端的非同步確認已完成。

**延遲傳送已順利啟動**  
Aurora MySQL 工作者執行緒已非同步地將回應傳送至用戶端，現在可以自由地為其他連線執行工作。交易已啟動尚未確認的非同步遞交程序。

**執行中**  
執行緒已開始執行陳述式。

**釋放項目**  
執行緒已執行命令。某些在此狀態期間完成的項目釋放涉及查詢快取。這種狀態通常伴隨著清除。

**init**  
這種狀態在初始化 `ALTER TABLE`、`DELETE`、`INSERT`、`SELECT` 或 `UPDATE` 陳述式之前發生。處於此狀態的動作包括清空二進位日誌或 InnoDB 日誌，以及查詢快取的部分清除。

**來源已將所有 binlog 傳送至複本；正在等待更多更新**  
主節點已完成其複寫部分。執行緒正在等待更多的查詢執行，以便它可以寫入至二進位日誌 (Binlog)。

**開啟表格**  
執行緒正在嘗試開啟資料表。此作業速度很快，除非 `ALTER TABLE` 或 `LOCK TABLE` 陳述式需要完成，否則它會超過 `table_open_cache` 的值。

**最佳化 **  
伺服器正在執行查詢的初始最佳化。

**準備中**  
此狀態發生在查詢最佳化期間。

**查詢結束**  
在處理查詢之後，但在釋放項目狀態之前，會發生此狀態。

**移除重複項目**  
Aurora MySQL 無法在查詢的早期階段最佳化 `DISTINCT` 作業。Aurora MySQL 必須在將結果傳送至用戶端之前移除所有重複的資料列。

**搜尋資料列以進行更新**  
執行緒正在尋找所有相符的資料列，然後再更新它們。如果 `UPDATE` 正在變更引擎用來尋找資料列的索引，這個階段是必要的。

**將 Binlog 事件傳送到從屬節點**  
執行緒已從二進位日誌讀取事件，並正在將其傳送到複本。

**將快取的結果傳送到用戶端**  
伺服器正在從查詢快取中取得查詢的結果，並將其傳送到用戶端。

**傳送資料**  
執行緒正在讀取和處理 `SELECT` 陳述式的資料列，但尚未開始將資料傳送至用戶端。此程序正在識別哪些頁面包含滿足查詢所需的結果。如需更多詳細資訊，請參閱 [正在傳送資料](ams-states.sending-data.md)。

**傳送至用戶端**  
伺服器正在將封包寫入至用戶端。在早期的 MySQL 版本中，此等待事件被標記為 `writing to net`。

**開始**  
這是在陳述式執行開始的第一個階段。

**統計資訊**  
伺服器正在計算統計資料以開發查詢執行計劃。如果執行緒長時間處於這種狀態，伺服器可能在執行其他工作時受到磁碟限制。

**將結果存放在查詢快取中**  
伺服器正在將查詢的結果存放在查詢快取中。

**系統鎖定**  
執行緒已呼叫 `mysql_lock_tables`，但執行緒狀態自呼叫以來未更新過。發生這種一般狀態的原因很多。

**update**  
執行緒正在準備開始更新資料表。

**更新**  
執行緒正在搜尋資料列並更新它們。

**使用者鎖定**  
執行緒已發出 `GET_LOCK` 呼叫。執行緒已請求一個建議鎖定並正在等待它，或者正在規劃請求它。

**等待更多更新**  
主節點已完成其複寫部分。執行緒正在等待更多的查詢執行，以便它可以寫入至二進位日誌 (Binlog)。

**等待結構描述中繼資料鎖定**  
這表示等待中繼資料鎖定。

**等待預存函數中繼資料鎖定**  
這表示等待中繼資料鎖定。

**等待預存程序中繼資料鎖定**  
這表示等待中繼資料鎖定。

**等待資料表清空**  
執行緒正在執行 `FLUSH TABLES` 並等待所有執行緒關閉其資料表。或者，執行緒收到了資料表的基礎結構已變更的通知，因此它必須重新開啟資料表以取得新結構。若要重新開啟資料表，執行緒必須等到所有其他執行緒關閉了資料表。如果另一個執行緒已在資料表上使用下列其中一個陳述式，就會發生此通知：`FLUSH TABLES`、`ALTER TABLE`、`RENAME TABLE`、`REPAIR TABLE`、`ANALYZE TABLE` 或 `OPTIMIZE TABLE`。

**等待資料表層級鎖定**  
一個工作階段對資料表保有鎖定，而另一個工作階段嘗試對同一資料表取得相同的鎖定。

**等待執行緒中繼資料鎖定**  
Aurora MySQL 使用中繼資料鎖定來管理資料庫物件的並行存取，並確保資料一致性。在此等待事件中，一個工作階段對資料表保有中繼資料鎖定，而另一個工作階段嘗試對同一資料表取得相同的鎖定。啟用效能結構描述時，此執行緒狀態會報告為等待事件 `synch/cond/sql/MDL_context::COND_wait_status`。

**寫入至網路**  
伺服器正在將封包寫入至網路。在更新的 MySQL 版本中，此等待事件被標記為 `Sending to client`。

# Aurora MySQL 隔離層級
<a name="AuroraMySQL.Reference.IsolationLevels"></a>

了解 Aurora MySQL 叢集的資料庫執行個體如何實作資料庫的隔離屬性。此主題解釋 Aurora MySQL 預設行為如何在嚴格一致性與高效能之間取得平衡點。您可以根據工作負載的特性，使用此資訊協助您決定何時變更預設設定。

## 寫入器執行個體可用的隔離層級
<a name="AuroraMySQL.Reference.IsolationLevels.writer"></a>

您可以在 Aurora MySQL 資料庫叢集的主要執行個體上使用隔離等級 `REPEATABLE READ`、`READ COMMITTED`、`READ UNCOMMITTED` 和 `SERIALIZABLE`。這些隔離層級在 Aurora MySQL 和 RDS for MySQL 中以同樣的方式運作。

## 讀取器執行個體的 REPEATABLE READ 隔離層級
<a name="AuroraMySQL.Reference.IsolationLevels.reader"></a>

根據預設，設定成唯讀 Aurora 複本的 Aurora MySQL 資料庫執行個體一律使用 `REPEATABLE READ` 隔離層級。這些資料庫執行個體忽略任何 `SET TRANSACTION ISOLATION LEVEL` 陳述式，並繼續使用 `REPEATABLE READ` 隔離層級。

## 讀取器執行個體的 READ COMMITTED 隔離層級
<a name="AuroraMySQL.Reference.IsolationLevels.relaxed"></a>

如果應用程式在主要執行個體上有密集寫入的工作負載，而在 Aurora 複本上有長時間執行的查詢，您可能會感受到嚴重的清除延遲。如果長時間執行的查詢阻礙內部垃圾收集，此即所謂的*清除延遲*。您看見的徵狀是在 `history list length` 命令的輸出中，`SHOW ENGINE INNODB STATUS` 的值很高。您可以在 CloudWatch 中使用 `RollbackSegmentHistoryListLength` 指標監控此值。嚴重的清除延遲會降低次要索引的效率，導致整體查詢效能下降和儲存空間浪費。

如果遇到這種問題，您可以設定 Aurora MySQL 工作階段層級的組態設定 `aurora_read_replica_read_committed`，在 Aurora 複本上使用 `READ COMMITTED` 隔離層級。在交易修改資料表的同時，長時間執行的查詢可能導致速度變慢和浪費空間，套用此設定有助於避免這種情形。

使用此設定前，建議您了解 Aurora MySQL 在 `READ COMMITTED` 隔離情況下的具體行為。Aurora 複本 `READ COMMITTED` 行為符合 ANSI SQL 標準。然而，此隔離不像您所熟悉的 MySQL `READ COMMITTED` 獨特行為那麼嚴格。因此，就同樣的查詢而言，在 Aurora MySQL 僅供讀取複本的 `READ COMMITTED` 情況下，以及在 Aurora MySQL 主要執行個體或 RDS for MySQL 的 `READ COMMITTED` 情況下，您所見的查詢結果可能不同。在某些案例中，例如綜合報告掃描巨大的資料庫，您可以考慮使用 `aurora_read_replica_read_committed` 設定。反之，如果準確性和可重複性很重要，以較短的查詢來產生較小的結果集可避免此情況。

`READ COMMITTED` 隔離層級不適用於在使用寫入轉送功能的 Aurora 全域資料庫中次要叢集內的工作階段。如需寫入轉送的資訊，請參閱 [在 Amazon Aurora 全域資料庫中使用寫入轉送](aurora-global-database-write-forwarding.md)。

### 對讀取器使用 READ COMMITTED
<a name="AuroraMySQL.Reference.IsolationLevels.relaxed.enabling"></a>

若要對 Aurora 複本使用 `READ COMMITTED` 隔離層級，請將 `aurora_read_replica_read_committed` 組態設定為 `ON`。請於連線至特定 Aurora 複本時，在工作階段層級使用此設定。若要這樣做，請執行下列 SQL 命令：

```
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
```

您可以暫時使用此組態設定，以執行互動的臨時性一次查詢。您也可以執行報告或資料分析應用程式來善用 `READ COMMITTED` 隔離層級，但對於其他應用程式維持預設設定不變。

啟用 `aurora_read_replica_read_committed` 設定時，請使用 `SET TRANSACTION ISOLATION LEVEL` 命令為適當的交易指定隔離層級。

```
set transaction isolation level read committed;
```

### Aurora 複本上 READ COMMITTED 行為的差異
<a name="AuroraMySQL.Reference.IsolationLevels.relaxed.behavior"></a>

`aurora_read_replica_read_committed` 設定可讓 Aurora 複本使用 `READ COMMITTED` 隔離層級，其一致性行為最適合長時間執行的交易。Aurora 複本上的 `READ COMMITTED` 隔離層級，不像 Aurora 主要執行個體上的隔離那麼嚴格。因此，在 Aurora 複本上，只在您知道查詢能接受可能有某種不一致結果時，才應該啟用此設定。

啟用 `aurora_read_replica_read_committed` 設定時，查詢可能會遇到某種讀取異常狀況。在應用程式碼中，特別需要了解和處理兩種異常。當查詢執行時有另一個交易遞交，此即所謂的*不可重複讀取*。長時間執行的查詢在查詢開始和結束時所見的資料不同。當查詢執行時有其他交易導致現有的列重組，使得查詢讀取一或多列兩次，此即所謂的*幻影讀取*。

幻影讀取可能導致查詢看到不一致的列計數。查詢也可能因為不可重複讀取而傳回不完整或不一致的結果。例如，假設聯結操作所參考的資料表有 SQL 陳述式正在修改，例如 `INSERT` 或 `DELETE`。在此情況下，聯結從一個資料表中讀取的列，可能不是另一個資料表中相應的列。

ANSI SQL 標準在 `READ COMMITTED` 隔離層級下允許這兩種行為。不過，這些行為不同於 MySQL 典型的 `READ COMMITTED` 實作。因此，在啟用 `aurora_read_replica_read_committed` 設定之前，請檢查任何現有的 SQL 程式碼，確認在較寬鬆一致性模式下的運作符合預期。

啟用此設定時，在 `READ COMMITTED` 隔離層級下，列計數和其他結果可能不那麼一致。因此，通常只在執行分析查詢來彙總大量資料，且不需要絕對精準時，您才啟用此設定。如果您沒有這種長時間執行的查詢，也沒有密集寫入的工作負載，可能就不需要 `aurora_read_replica_read_committed` 設定。如果既沒有長時間執行的查詢，也沒有寫入密集的工作負載，就不太可能遭遇歷史記錄清單過長的問題。

**Example 顯示 Aurora 複本上 READ COMMITTED 隔離行為的查詢**  
下列範例顯示 Aurora 複本上的 `READ COMMITTED` 查詢在同時有交易修改相關聯資料表時，如何傳回不可重複的結果。在任何查詢開始前，資料表 `BIG_TABLE` 包含 1 百萬列。查詢執行時有其他資料操作語言 (DML) 陳述式新增、移除或變更列。  
在 `READ COMMITTED` 隔離層級下，Aurora 主要執行個體上的查詢產生可預測的結果。但是，為了替每個長時間執行的查詢自始至終維持一致的讀取檢視，所付出的成本將導致後來垃圾收集的代價更高。  
在 `READ COMMITTED` 隔離層級下，Aurora 複本上的查詢最能將此垃圾收集成本降到最低。根據查詢擷取的列是否為查詢執行當時遞交的交易所新增、移除或重組而定，結果可能不同，而這就是代價。查詢可以考慮這幾列，但並非必要。為了示範，查詢只使用 `COUNT(*)` 函數檢查資料表的列數。  


| 時間 | Aurora 主要執行個體上的 DML 陳述式 | Aurora 主要執行個體上搭配 READ COMMITTED 的查詢 | Aurora 複本上搭配 READ COMMITTED 的查詢 | 
| --- | --- | --- | --- | 
|  T1  |  INSERT INTO big\$1table SELECT \$1 FROM other\$1table LIMIT 1000000; COMMIT;   |  |  | 
|  T2  |  |  Q1: SELECT COUNT(\$1) FROM big\$1table;  |  Q2: SELECT COUNT(\$1) FROM big\$1table;  | 
|  T3  |  INSERT INTO big\$1table (c1, c2) VALUES (1, 'one more row'); COMMIT;   |  |  | 
|  T4  |  |  如果 Q1 現在完成，則結果為 1,000,000。 |  如果 Q2 現在完成，則結果為 1,000,000 或 1,000,001。 | 
|  T5  |  DELETE FROM big\$1table LIMIT 2; COMMIT;   |  |  | 
|  T6  |  |  如果 Q1 現在完成，則結果為 1,000,000。 |  如果 Q2 現在完成，則結果為 1,000,000 或 1,000,001 或 999,999 或 999,998。 | 
|  T7  |  UPDATE big\$1table SET c2 = CONCAT(c2,c2,c2); COMMIT;   |  |  | 
|  T8  |  |  如果 Q1 現在完成，則結果為 1,000,000。 |  如果 Q2 現在完成，則結果為 1,000,000 或 1,000,001 或 999,999，或者，可能是某個更大的數字。 | 
|  T9  |  |  Q3: SELECT COUNT(\$1) FROM big\$1table;  |  Q4: SELECT COUNT(\$1) FROM big\$1table;  | 
|  T10  |  |  如果 Q3 現在完成，則結果為 999,999。 |  如果 Q4 現在完成，則結果為 999,999。 | 
|  T11  |  |  Q5: SELECT COUNT(\$1) FROM parent\$1table p JOIN child\$1table c ON (p.id = c.id) WHERE p.id = 1000;  |  Q6: SELECT COUNT(\$1) FROM parent\$1table p JOIN child\$1table c ON (p.id = c.id) WHERE p.id = 1000;  | 
|  T12  |   INSERT INTO parent\$1table (id, s) VALUES (1000, 'hello'); INSERT INTO child\$1table (id, s) VALUES (1000, 'world'); COMMIT;   |  |  | 
|  T13  |  |  如果 Q5 現在完成，則結果為 0。 |  如果 Q6 現在完成，則結果為 0 或 1。 | 
如果查詢快速完成，在其他任何交易執行 DML 陳述式和遞交之前，結果是在主要執行個體與 Aurora 複本之間是可預測且相同。從第一個查詢開始詳細檢查行為的差異。  
Q1 的結果很容易預測，因為主要執行個體上的 `READ COMMITTED` 使用類似於 `REPEATABLE READ` 隔離層級的強大一致性模式。  
隨著查詢執行當時交易是遞交什麼而定，Q2 的結果可能不同。例如，假設查詢執行當時，有其他交易執行 DML 陳述式並遞交。在此情況下，Aurora 複本上搭配 `READ COMMITTED` 隔離層級的查詢可能考量或不考量變更。列計數不能像在 `REPEATABLE READ` 隔離層級下那樣預測。也不像在主要執行個體或 RDS for MySQL 執行個體上於 `READ COMMITTED` 隔離層級下執行的查詢那麼可預測。  
T7 上的 `UPDATE` 陳述式實際上不變更資料表的列數。不過，此陳述式能夠變更可變長度欄的長度，導致列在內部重組。長時間執行的 `READ COMMITTED` 交易可能看到某一列的舊版本，而後來在相同查詢內，可能又看到那同一列的新版本。該查詢也可以同時略過此列的新舊版本，因此列數可能與預期不同。  
Q5 和 Q6 的結果可能完全相同或稍微不同。Aurora 複本上在 `READ COMMITTED` 下的查詢 Q6 能夠看到 (但不必一定看到) 查詢執行當時遞交的新列。也可能看到只在一個資料表而不在另一個資料表中的列。如果聯結查詢在兩個資料表中找不到相符一列，則傳回計數為零。如果查詢在 `PARENT_TABLE` 和 `CHILD_TABLE` 中都找到新列，查詢傳回計數為 1。在長時間執行的查詢中，可能間隔很久才查閱聯結的資料表。  
這些行為差異取決於交易遞交的時間，以及查詢何時處理基礎資料表列。因此，在耗費數分鐘或數小時，且在同時處理 OLTP 交易的 Aurora 叢集上所執行的報告查詢中，最可能看到這些差異。Aurora 複本上的 `READ COMMITTED` 隔離層級最有益於這幾種混合工作負載。

# Aurora MySQL 提示
<a name="AuroraMySQL.Reference.Hints"></a><a name="hints"></a>

您可以將 SQL 提示與 Aurora MySQL 查詢搭配使用，以微調效能。您也可以使用提示來防止重要查詢的執行計劃因不可預期的情況而變更。

**提示**  
若要驗證提示對查詢的影響，請檢查 `EXPLAIN` 陳述式所產生的查詢計劃。比較有和沒有提示時的查詢計劃。

在 Aurora MySQL 第 3 版中，您可以使用 MySQL Community Edition 8.0 中提供的所有提示。如需這些提示的詳細資訊，請參閱《MySQL 參考手冊》**中的[最佳化工具提示](https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html)。

下列提示可在 Aurora MySQL 第 2 版中取得。這些提示適用於使用 Aurora MySQL 第 2 版中雜湊聯結功能的查詢，尤其是使用平行查詢最佳化的查詢。

**PQ，NO\$1PQ**  
指定是否強制最佳化工具以每資料表或每查詢為基礎，使用平行查詢。  
`PQ` 會強制最佳化工具對指定資料表或整個查詢 (區塊) 使用平行查詢。`NO_PQ` 則會防止最佳化工具對指定資料表或整個查詢 (區塊) 使用平行查詢。  
此提示可在 Aurora MySQL 2.11 及更高版本中取得。下列範例示範如何使用此提示。  
若指定資料表名稱，會強制最佳化工具僅在所選資料表套用 `PQ/NO_PQ` 提示。若未指定資料表名稱，會強制執行受查詢區塊影響的所有資料表之 `PQ/NO_PQ` 提示。

```
EXPLAIN SELECT /*+ PQ() */ f1, f2
    FROM num1 t1 WHERE f1 > 10 and f2 < 100;

EXPLAIN SELECT /*+ PQ(t1) */ f1, f2
    FROM num1 t1 WHERE f1 > 10 and f2 < 100;

EXPLAIN SELECT /*+ PQ(t1,t2) */ f1, f2
    FROM num1 t1, num1 t2 WHERE t1.f1 = t2.f21;

EXPLAIN SELECT /*+ NO_PQ() */ f1, f2
    FROM num1 t1 WHERE f1 > 10 and f2 < 100;

EXPLAIN SELECT /*+ NO_PQ(t1) */ f1, f2
    FROM num1 t1 WHERE f1 > 10 and f2 < 100;

EXPLAIN SELECT /*+ NO_PQ(t1,t2) */ f1, f2
    FROM num1 t1, num1 t2 WHERE t1.f1 = t2.f21;
```

**HASH\$1JOIN、NO\$1HASH\$1JOIN**  
開啟或關閉平行查詢最佳化工具，以選擇是否要針對查詢使用雜湊聯結最佳化方法的功能。如果該機制更有效率，則 `HASH_JOIN` 允許最佳化器使用雜湊聯結。`NO_HASH_JOIN` 可防止最佳化器使用雜湊聯結進行查詢。此提示可在 Aurora MySQL 2.08 及更高版本中取得。它在 Aurora MySQL 第 3 版中無效。  
下列範例示範如何使用此提示。  

```
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
```

**HASH\$1JOIN\$1PROBING、NO\$1HASH\$1JOIN\$1PROBING**  
在雜湊聯結查詢中，指定是否要使用指定的資料表作為聯結的探查端。查詢會測試建置資料表中的資料欄位值是否存在於探測資料表中，而不是讀取探測資料表的完整內容。您可以使用 `HASH_JOIN_PROBING` 和 `HASH_JOIN_BUILDING` 指定處理雜湊聯結查詢的方式，而不需重新排序查詢文字中的資料表。此提示可在 Aurora MySQL 2.08 及更高版本中取得。它在 Aurora MySQL 第 3 版中無效。  
下列範例示範如何使用此提示。指定資料表 `HASH_JOIN_PROBING` 的 `T2` 提示與指定資料表 `NO_HASH_JOIN_PROBING` 的 `T1` 效果相同。  

```
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
```

**HASH\$1JOIN\$1BUILDING、NO\$1HASH\$1JOIN\$1BUILDING**  
在雜湊聯結查詢中，指定是否要使用指定的資料表作為聯結的建置端。查詢會處理此資料表中的所有資料列，以建立與其他資料表交互參照的資料欄位值清單。您可以使用 `HASH_JOIN_PROBING` 和指 `HASH_JOIN_BUILDING` 定處理雜湊聯結查詢的方式，而不需重新排序查詢文字中的資料表。此提示可在 Aurora MySQL 2.08 及更高版本中取得。它在 Aurora MySQL 第 3 版中無效。  
下列範例示範如何使用此提示。指定資料表 `HASH_JOIN_BUILDING` 的 `T2` 提示與指定資料表 `NO_HASH_JOIN_BUILDING` 的 `T1` 效果相同。  

```
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
```

**JOIN\$1FIXED\$1ORDER**  
指定查詢中的資料表是根據它們在查詢中列出的順序來聯結。它在涉及三個或更多資料表的查詢時很有用。它旨在替代 MySQL `STRAIGHT_JOIN` 提示，並等同於 MySQL [JOIN\$1FIXED\$1ORDER](https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html) 提示。此提示可在 Aurora MySQL 2.08 及更高版本中取得。  
下列範例示範如何使用此提示。  

```
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER() */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
```

**JOIN\$1ORDER**  
指定查詢中資料表的聯結順序。它在涉及三個或更多資料表的查詢時很有用。它相當於 MySQL [JOIN\$1ORDER](https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html) 提示。此提示可在 Aurora MySQL 2.08 及更高版本中取得。  
下列範例示範如何使用此提示。  

```
EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
```

**JOIN\$1PREFIX**  
指定要在聯結順序中放第一個的資料表。它在涉及三個或更多資料表的查詢時很有用。它相當於 MySQL [JOIN\$1PREFIX](https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html) 提示。此提示可在 Aurora MySQL 2.08 及更高版本中取得。  
下列範例示範如何使用此提示。  

```
EXPLAIN SELECT /*+ JOIN_PREFIX (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
```

**JOIN\$1SUFFIX**  
指定要放在聯結順序最後一個的資料表。它在涉及三個或更多資料表的查詢時很有用。它相當於 MySQL [JOIN\$1SUFFIX](https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html) 提示。此提示可在 Aurora MySQL 2.08 及更高版本中取得。  
下列範例示範如何使用此提示。  

```
EXPLAIN SELECT /*+ JOIN_SUFFIX (t1) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
```

若要取得有關使用雜湊聯結查詢的資訊，請參閱 [使用雜湊聯結，將大型 Aurora MySQL 聯結查詢最佳化](AuroraMySQL.BestPractices.Performance.md#Aurora.BestPractices.HashJoin)。

# Aurora MySQL 預存程序參考
<a name="AuroraMySQL.Reference.StoredProcs"></a>

您可以呼叫內建預存程序，以管理您的 Aurora MySQL 資料庫叢集。

**Topics**
+ [收集和維護全域狀態歷史記錄](mysql-stored-proc-gsh.md)
+ [設定、啟動和停止二進位日誌 (binlog) 複寫](mysql-stored-proc-replicating.md)
+ [結束工作階段或查詢](mysql-stored-proc-ending.md)
+ [使用 GTID 複寫交易](mysql-stored-proc-gtid.md)
+ [輪換查詢日誌](mysql-stored-proc-logging.md)
+ [設定和顯示二進位日誌組態](mysql-stored-proc-configuring.md)

# 收集和維護全域狀態歷史記錄
<a name="mysql-stored-proc-gsh"></a>

Amazon RDS 會提供一組程序，將在一段時間內快照狀態變數的值，並將它們以及自從上次快照後的任何變更寫入至資料表。此基礎設施稱為「全域狀態歷史記錄」。如需更多詳細資訊，請參閱[管理全域狀態歷史記錄](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#Appendix.MySQL.CommonDBATasks.GoSH)。

下列預存程序會管理收集及維護「全域狀態歷史記錄」的方式。

**Topics**
+ [mysql.rds\$1collect\$1global\$1status\$1history](#mysql_rds_collect_global_status_history)
+ [mysql.rds\$1disable\$1gsh\$1collector](#mysql_rds_disable_gsh_collector)
+ [mysql.rds\$1disable\$1gsh\$1rotation](#mysql_rds_disable_gsh_rotation)
+ [mysql.rds\$1enable\$1gsh\$1collector](#mysql_rds_enable_gsh_collector)
+ [mysql.rds\$1enable\$1gsh\$1rotation](#mysql_rds_enable_gsh_rotation)
+ [mysql.rds\$1rotate\$1global\$1status\$1history](#mysql_rds_rotate_global_status_history)
+ [mysql.rds\$1set\$1gsh\$1collector](#mysql_rds_set_gsh_collector)
+ [mysql.rds\$1set\$1gsh\$1rotation](#mysql_rds_set_gsh_rotation)

## mysql.rds\$1collect\$1global\$1status\$1history
<a name="mysql_rds_collect_global_status_history"></a>

隨需建立全域狀態歷史記錄的快照。

### 語法
<a name="rds_collect_global_status_history-syntax"></a>

 

```
CALL mysql.rds_collect_global_status_history;
```

## mysql.rds\$1disable\$1gsh\$1collector
<a name="mysql_rds_disable_gsh_collector"></a>

停用全域狀態歷史記錄建立的快照。

### 語法
<a name="mysql_rds_disable_gsh_collector-syntax"></a>

 

```
CALL mysql.rds_disable_gsh_collector;
```

## mysql.rds\$1disable\$1gsh\$1rotation
<a name="mysql_rds_disable_gsh_rotation"></a>

關閉 `mysql.global_status_history` 表格的輪換。

### 語法
<a name="mysql_rds_disable_gsh_rotation-syntax"></a>

 

```
CALL mysql.rds_disable_gsh_rotation;
```

## mysql.rds\$1enable\$1gsh\$1collector
<a name="mysql_rds_enable_gsh_collector"></a>

啟用全域狀態歷史記錄來依據 `rds_set_gsh_collector` 指定的間隔建立預設快照。

### 語法
<a name="mysql_rds_enable_gsh_collector-syntax"></a>

 

```
CALL mysql.rds_enable_gsh_collector;
```

## mysql.rds\$1enable\$1gsh\$1rotation
<a name="mysql_rds_enable_gsh_rotation"></a>

啟用依 `mysql.global_status_history` 指定的間隔將 `mysql.global_status_history_old` 資料表的內容輪換至 `rds_set_gsh_rotation`。

### 語法
<a name="mysql_rds_enable_gsh_rotation-syntax"></a>

 

```
CALL mysql.rds_enable_gsh_rotation;
```

## mysql.rds\$1rotate\$1global\$1status\$1history
<a name="mysql_rds_rotate_global_status_history"></a>

隨需將 `mysql.global_status_history` 資料表的內容輪換至 `mysql.global_status_history_old`。

### 語法
<a name="mysql_rds_rotate_global_status_history-syntax"></a>

 

```
CALL mysql.rds_rotate_global_status_history;
```

## mysql.rds\$1set\$1gsh\$1collector
<a name="mysql_rds_set_gsh_collector"></a>

指定全域狀態歷史記錄建立快照之間的間隔 (以分鐘為單位)。

### 語法
<a name="mysql_rds_set_gsh_collector-syntax"></a>

 

```
CALL mysql.rds_set_gsh_collector(intervalPeriod);
```

### 參數
<a name="mysql_rds_set_gsh_collector-parameters"></a>

 *intervalPeriod*   
快照之間的間隔 (以分鐘為單位)。預設值為 `5`。

## mysql.rds\$1set\$1gsh\$1rotation
<a name="mysql_rds_set_gsh_rotation"></a>

指定 `mysql.global_status_history` 資料表輪換之間的間隔 (以天為單位)。

### 語法
<a name="mysql_rds_set_gsh_rotation-syntax"></a>

 

```
CALL mysql.rds_set_gsh_rotation(intervalPeriod);
```

### 參數
<a name="mysql_rds_set_gsh_rotation-parameters"></a>

 *intervalPeriod*   
資料表輪換之間的間隔 (以天為單位)。預設值為 `7`。

# 設定、啟動和停止二進位日誌 (binlog) 複寫
<a name="mysql-stored-proc-replicating"></a>

您可以在連線至 Aurora MySQL 叢集中的主要執行個體時呼叫以下預存程序。這些程序控制了外部資料庫的交易複製到 Aurora MySQL 中，或從 Aurora MySQL 複製到外部資料庫的方式。

**Topics**
+ [mysql.rds\$1disable\$1session\$1binlog (Aurora MySQL 2 版)](#mysql_rds_disable_session_binlog)
+ [mysql.rds\$1enable\$1session\$1binlog (Aurora MySQL 2 版)](#mysql_rds_enable_session_binlog)
+ [mysql.rds\$1import\$1binlog\$1ssl\$1material](#mysql_rds_import_binlog_ssl_material)
+ [mysql.rds\$1next\$1master\$1log (Aurora MySQL 版本 2)](#mysql_rds_next_master_log)
+ [mysql.rds\$1next\$1source\$1log (Aurora MySQL 第 3 版)](#mysql_rds_next_source_log)
+ [mysql.rds\$1remove\$1binlog\$1ssl\$1material](#mysql_rds_remove_binlog_ssl_material)
+ [mysql.rds\$1reset\$1external\$1master (Aurora MySQL 第 2 版)](#mysql_rds_reset_external_master)
+ [mysql.rds\$1reset\$1external\$1source (Aurora MySQL 第 3 版)](#mysql_rds_reset_external_source)
+ [mysql.rds\$1set\$1binlog\$1source\$1ssl (Aurora MySQL 第 3 版)](#mysql_rds_set_binlog_source_ssl)
+ [mysql.rds\$1set\$1external\$1master (Aurora MySQL 第 2 版)](#mysql_rds_set_external_master)
+ [mysql.rds\$1set\$1external\$1source (Aurora MySQL 第 3 版)](#mysql_rds_set_external_source)
+ [mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (Aurora MySQL 第 2 版)](#mysql_rds_set_external_master_with_auto_position)
+ [mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (Aurora MySQL 第 3 版)](#mysql_rds_set_external_source_with_auto_position)
+ [mysql.rds\$1set\$1master\$1auto\$1position (Aurora MySQL 第 2 版）](#mysql_rds_set_master_auto_position)
+ [mysql.rds\$1set\$1read\$1only (Aurora MySQL 第 3 版)](#mysql_rds_set_read_only)
+ [mysql.rds\$1set\$1session\$1binlog\$1format (Aurora MySQL 2 版)](#mysql_rds_set_session_binlog_format)
+ [mysql.rds\$1set\$1source\$1auto\$1position (Aurora MySQL 第 3 版)](#mysql_rds_set_source_auto_position)
+ [mysql.rds\$1skip\$1repl\$1error](#mysql_rds_skip_repl_error)
+ [mysql.rds\$1start\$1replication](#mysql_rds_start_replication)
+ [mysql.rds\$1start\$1replication\$1until(Aurora MySQL 第 3 版）](#mysql_rds_start_replication_until)
+ [mysql.rds\$1stop\$1replication](#mysql_rds_stop_replication)

## mysql.rds\$1disable\$1session\$1binlog (Aurora MySQL 2 版)
<a name="mysql_rds_disable_session_binlog"></a>

透過將 `sql_log_bin` 變數設定為 `OFF` 以關閉目前工作階段的二進位記錄。

### 語法
<a name="mysql_rds_disable_session_binlog-syntax"></a>

```
CALL mysql.rds_disable_session_binlog;
```

### Parameters
<a name="mysql_rds_disable_session_binlog-parameters"></a>

無

### 使用須知
<a name="mysql_rds_disable_session_binlog-usage"></a>

針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

針對 Aurora，Aurora MySQL 2.12 版和更新的相容版本 MySQL 5.7 支援此程序。

**注意**  
在 Aurora MySQL 第 3 版中，如果您有 `SESSION_VARIABLES_ADMIN` 權限，您可以使用下列命令來停用目前工作階段的二進制記錄：  

```
SET SESSION sql_log_bin = OFF;
```

## mysql.rds\$1enable\$1session\$1binlog (Aurora MySQL 2 版)
<a name="mysql_rds_enable_session_binlog"></a>

透過將 `sql_log_bin` 變數設定為 `ON` 以開啟目前工作階段的二進位記錄。

### 語法
<a name="mysql_rds_enable_session_binlog-syntax"></a>

```
CALL mysql.rds_enable_session_binlog;
```

### Parameters
<a name="mysql_rds_enable_session_binlog-parameters"></a>

無

### 使用須知
<a name="mysql_rds_enable_session_binlog-usage"></a>

針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

針對 Aurora，Aurora MySQL 2.12 版和更新的相容版本 MySQL 5.7 支援此程序。

**注意**  
在 Aurora MySQL 第 3 版中，如果您有 `SESSION_VARIABLES_ADMIN` 權限，您可以使用下列命令來啟用目前工作階段的二進制記錄：  

```
SET SESSION sql_log_bin = ON;
```

## mysql.rds\$1import\$1binlog\$1ssl\$1material
<a name="mysql_rds_import_binlog_ssl_material"></a>

將憑證授權單位憑證、用戶端憑證和用戶端金鑰匯入 Aurora MySQL 資料庫叢集。SSL 通訊和加密複寫需要這些資訊。

**注意**  
目前，下列 Aurora MySQL 版本支援此程序：第二版：2.09.2、2.10.0、2.10.1 和 2.11.0；以及第 3 版：3.01.1 及更新版本。

### 語法
<a name="mysql_rds_import_binlog_ssl_material-syntax"></a>

 

```
CALL mysql.rds_import_binlog_ssl_material (
  ssl_material
);
```

### 參數
<a name="mysql_rds_import_binlog_ssl_material-parameters"></a>

 *ssl\$1material*   
JSON 承載，其中包含 MySQL 用戶端的以下 .pem 格式檔案的內容：  
+ "ssl\$1ca"："*憑證授權單位憑證*"
+ "ssl\$1cert"："*用戶端憑證*"
+ "ssl\$1key"："*用戶端金鑰*"

### 使用須知
<a name="mysql_rds_import_binlog_ssl_material-usage-notes"></a>

執行此程序之前為加密複寫做好準備：
+ 如果您在外部 MySQL 來源資料庫執行個體上未啟用 SSL，也沒有準備用戶端金鑰和用戶端憑證，請在 MySQL 資料庫伺服器上啟用 SSL，並產生所需的用戶端金鑰和用戶端憑證。
+ 如果外部來源資料庫執行個體上已啟用 SSL，請為 Aurora MySQL 資料庫叢集提供用戶端金鑰和憑證。如果您沒有這些資料，請為 Aurora MySQL 資料庫叢集產生新的金鑰和憑證。若要簽署用戶端憑證，您必須有用於外部 MySQL 來源資料庫執行個體上設定 SSL 的憑證授權單位金鑰。

如需詳細資訊，請參閱 MySQL 文件中的[使用 openssl 建立 SSL 憑證和金鑰](https://dev.mysql.com/doc/refman/8.0/en/creating-ssl-files-using-openssl.html)。

**重要**  
為加密複寫做好準備之後，使用 SSL 連線來執行此程序。不可透過不安全的連線來傳送用戶端金鑰。

此程序將外部 MySQL 資料庫中的 SSL 資訊匯入 Aurora MySQL 資料庫叢集。SSL 資訊是 .pem 格式檔案，其中包含 Aurora MySQL 資料庫叢集的 SSL 資訊。在加密複寫期間，Aurora MySQL 資料庫叢集充當 MySQL 資料庫伺服器的用戶端。Aurora MySQL 用戶端的憑證和金鑰位於 .pem 格式的檔案中。

您可以將這些檔案中的資訊複製到正確 JSON 承載中的 `ssl_material` 參數。若要支援加密複寫，請將此 SSL 資訊匯入 Aurora MySQL 資料庫叢集。

JSON 承載必須採用下列格式。

```
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
ssl_ca_pem_body_code
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
ssl_cert_pem_body_code
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
ssl_key_pem_body_code
-----END RSA PRIVATE KEY-----\n"}'
```

### 範例
<a name="mysql_rds_import_binlog_ssl_material-examples"></a>

下列範例將 SSL 資訊匯入 Aurora MySQL。在 .pem 格式檔案中，內文程式碼通常比範例所示的內文程式碼更長。

```
call mysql.rds_import_binlog_ssl_material(
'{"ssl_ca":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_cert":"-----BEGIN CERTIFICATE-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END CERTIFICATE-----\n","ssl_key":"-----BEGIN RSA PRIVATE KEY-----
AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
-----END RSA PRIVATE KEY-----\n"}');
```

## mysql.rds\$1next\$1master\$1log (Aurora MySQL 版本 2)
<a name="mysql_rds_next_master_log"></a>

將來源資料庫執行個體日誌位置變更為來源資料庫執行個體上下一個二進位日誌的開頭。只有當您在僅供讀取複本上收到複寫輸入/輸出錯誤 1236 時，才使用此程序。

### 語法
<a name="mysql_rds_next_master_log-syntax"></a>

 

```
CALL mysql.rds_next_master_log(
curr_master_log
);
```

### 參數
<a name="mysql_rds_next_master_log-parameters"></a>

 *curr\$1master\$1log*   
目前主控端日誌檔案的索引。例如，若目前檔案的名稱是 `mysql-bin-changelog.012345`，則索引為 12345。若要查明目前主控端日誌檔案名稱，請執行 `SHOW REPLICA STATUS` 命令並檢視 `Master_Log_File` 欄位。

### 使用須知
<a name="mysql_rds_next_master_log-usage-notes"></a>

主要使用者必須執行 `mysql.rds_next_master_log` 程序。

**警告**  
只有當複寫來源的異地同步備份資料庫執行個體在容錯移轉之後複寫失敗時，且 `mysql.rds_next_master_log` 的 `Last_IO_Errno` 欄位報告輸入/輸出錯誤 1236，才呼叫 `SHOW REPLICA STATUS`。  
在容錯移轉事件發生之前，如果來源執行個體中的交易未寫入磁碟上的二進位日誌，則呼叫 `mysql.rds_next_master_log` 會導致僅供讀取複本遺失資料。

### 範例
<a name="mysql_rds_next_master_log-examples"></a>

假設 Aurora MySQL 僅供讀取複本上的複寫失敗。在僅供讀取複本上執行 `SHOW REPLICA STATUS\G` 將傳回下列結果：

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Master: NULL
Source_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.'
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

`Last_IO_Errno` 欄位顯示執行個體收到輸入/輸出錯誤 1236。`Master_Log_File` 欄位顯示檔案名稱是 `mysql-bin-changelog.012345`，這表示日誌檔案索引為 `12345`。若要解決錯誤，您可以呼叫 `mysql.rds_next_master_log` 並指定下列參數：

```
CALL mysql.rds_next_master_log(12345);
```

## mysql.rds\$1next\$1source\$1log (Aurora MySQL 第 3 版)
<a name="mysql_rds_next_source_log"></a>

將來源資料庫執行個體日誌位置變更為來源資料庫執行個體上下一個二進位日誌的開頭。只有當您在僅供讀取複本上收到複寫輸入/輸出錯誤 1236 時，才使用此程序。

### 語法
<a name="mysql_rds_next_source_log-syntax"></a>

 

```
CALL mysql.rds_next_source_log(
curr_source_log
);
```

### Parameters
<a name="mysql_rds_next_source_log-parameters"></a>

 *curr\$1source\$1log*   
目前來源日誌檔案的索引。例如，若目前檔案的名稱是 `mysql-bin-changelog.012345`，則索引為 12345。若要查明目前來源日誌檔案名稱，請執行 `SHOW REPLICA STATUS` 命令並檢視 `Source_Log_File` 欄位。

### 使用須知
<a name="mysql_rds_next_source_log-usage-notes"></a>

管理使用者必須執行 `mysql.rds_next_source_log` 程序。

**警告**  
只有當複寫來源的異地同步備份資料庫執行個體在容錯移轉之後複寫失敗時，且 `mysql.rds_next_source_log` 的 `Last_IO_Errno` 欄位報告輸入/輸出錯誤 1236，才呼叫 `SHOW REPLICA STATUS`。  
在容錯移轉事件發生之前，如果來源執行個體中的交易未寫入磁碟上的二進位日誌，則呼叫 `mysql.rds_next_source_log` 會導致僅供讀取複本遺失資料。您可以將來源執行個體參數 `sync_binlog` 和 `innodb_support_xa` 設為 `1`，以降低此情況發生的機率，雖然這麼做會降低效能。

### 範例
<a name="mysql_rds_next_source_log-examples"></a>

假設 Aurora MySQL 僅供讀取複本上的複寫失敗。在僅供讀取複本上執行 `SHOW REPLICA STATUS\G` 將傳回下列結果：

```
*************************** 1. row ***************************
             Replica_IO_State:
                  Source_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com
                  Source_User: MasterUser
                  Source_Port: 3306
                Connect_Retry: 10
              Source_Log_File: mysql-bin-changelog.012345
          Read_Source_Log_Pos: 1219393
               Relay_Log_File: relaylog.012340
                Relay_Log_Pos: 30223388
        Relay_Source_Log_File: mysql-bin-changelog.012345
           Replica_IO_Running: No
          Replica_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Source_Log_Pos: 30223232
              Relay_Log_Space: 5248928866
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Source_SSL_Allowed: No
           Source_SSL_CA_File:
           Source_SSL_CA_Path:
              Source_SSL_Cert:
            Source_SSL_Cipher:
               Source_SSL_Key:
        Seconds_Behind_Source: NULL
Source_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from source when reading data from binary log: 'Client requested source to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.'
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Source_Server_Id: 67285976
```

`Last_IO_Errno` 欄位顯示執行個體收到輸入/輸出錯誤 1236。`Source_Log_File` 欄位顯示檔案名稱是 `mysql-bin-changelog.012345`，這表示日誌檔案索引為 `12345`。若要解決錯誤，您可以呼叫 `mysql.rds_next_source_log` 並指定下列參數：

```
CALL mysql.rds_next_source_log(12345);
```

## mysql.rds\$1remove\$1binlog\$1ssl\$1material
<a name="mysql_rds_remove_binlog_ssl_material"></a>

移除用於 SSL 通訊和加密複寫的憑證授權單位憑證、用戶端憑證和用戶端金鑰。此資訊是利用 [mysql.rds\$1import\$1binlog\$1ssl\$1material](#mysql_rds_import_binlog_ssl_material) 來匯入。

### 語法
<a name="mysql_rds_remove_binlog_ssl_material-syntax"></a>

 

```
CALL mysql.rds_remove_binlog_ssl_material;
```

## mysql.rds\$1reset\$1external\$1master (Aurora MySQL 第 2 版)
<a name="mysql_rds_reset_external_master"></a>

將 Aurora MySQL 資料庫執行個體重新設定為不再是 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

**重要**  
若要執行此程序，必須啟用 `autocommit`。若要啟用它，請將 `autocommit` 參數設定為 `1`。如需修改參數的相關資訊，請參閱[修改 Amazon Aurora 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

### 語法
<a name="mysql_rds_reset_external_master-syntax"></a>

 

```
CALL mysql.rds_reset_external_master;
```

### 使用須知
<a name="mysql_rds_reset_external_master-usage-notes"></a>

主要使用者必須執行 `mysql.rds_reset_external_master` 程序。此程序必須在要做為 MySQL 執行個體 (在 Amazon RDS 外部執行) 之僅供讀取複本的將被移除的 MySQL 資料庫執行個體上執行。

**注意**  
我們提供這些預存程序主要是為了對 Amazon RDS 外部執行的 MySQL 執行個體啟用複寫。如果可能，建議您使用 Aurora 複本來管理 Aurora MySQL 資料庫叢集內的複寫。如需 Aurora MySQL 資料庫叢集中管理複寫的相關資訊，請參閱 [使用 Aurora 複本](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas)。

如需使用複寫從 Aurora MySQL 外部執行的 MySQL 執行個體匯入資料的詳細資訊，請參閱 [Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。

## mysql.rds\$1reset\$1external\$1source (Aurora MySQL 第 3 版)
<a name="mysql_rds_reset_external_source"></a>

將 Aurora MySQL 資料庫執行個體重新設定為不再是 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

**重要**  
若要執行此程序，必須啟用 `autocommit`。若要啟用它，請將 `autocommit` 參數設定為 `1`。如需修改參數的相關資訊，請參閱[修改 Amazon Aurora 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

### 語法
<a name="mysql_rds_reset_external_source-syntax"></a>

 

```
CALL mysql.rds_reset_external_source;
```

### 使用須知
<a name="mysql_rds_reset_external_source-usage-notes"></a>

管理使用者必須執行 `mysql.rds_reset_external_source` 程序。此程序必須在要做為 MySQL 執行個體 (在 Amazon RDS 外部執行) 之僅供讀取複本的將被移除的 MySQL 資料庫執行個體上執行。

**注意**  
我們提供這些預存程序主要是為了對 Amazon RDS 外部執行的 MySQL 執行個體啟用複寫。如果可能，建議您使用 Aurora 複本來管理 Aurora MySQL 資料庫叢集內的複寫。如需 Aurora MySQL 資料庫叢集中管理複寫的相關資訊，請參閱 [使用 Aurora 複本](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas)。

## mysql.rds\$1set\$1binlog\$1source\$1ssl (Aurora MySQL 第 3 版)
<a name="mysql_rds_set_binlog_source_ssl"></a>

針對 binlog 複寫啟用 `SOURCE_SSL` 加密。如需詳細資訊，請參閱 MySQL 文件中的 [CHANGE REPLICATION SOURCE TO 陳述式](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html)。

### 語法
<a name="mysql_rds_set_binlog_source_ssl-syntax"></a>

```
CALL mysql.rds_set_binlog_source_ssl(mode);
```

### Parameters
<a name="mysql_rds_set_binlog_source_ssl-parameters"></a>

*模式*  
指出是否啟用 `SOURCE_SSL` 加密的值：  
+ `0` – `SOURCE_SSL` 加密已停用。預設值為 `0`。
+ `1` – `SOURCE_SSL` 加密已啟用。您可以使用 SSL 或 TLS 設定加密。

### 使用須知
<a name="mysql_rds_set_binlog_source_ssl-usage"></a>

Aurora MySQL 3.04 版及更新版本支援此程序。

## mysql.rds\$1set\$1external\$1master (Aurora MySQL 第 2 版)
<a name="mysql_rds_set_external_master"></a>

將 Aurora MySQL 資料庫執行個體設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

`mysql.rds_set_external_master` 程序已棄用，且會在未來版本中將其移除。請改用 `mysql.rds\$1set\$1external\$1source`。

**重要**  
若要執行此程序，必須啟用 `autocommit`。若要啟用它，請將 `autocommit` 參數設定為 `1`。如需修改參數的相關資訊，請參閱[修改 Amazon Aurora 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

### 語法
<a name="mysql_rds_set_external_master-syntax"></a>

 

```
CALL mysql.rds_set_external_master (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , mysql_binary_log_file_name
  , mysql_binary_log_file_location
  , ssl_encryption
);
```

### 參數
<a name="mysql_rds_set_external_master-parameters"></a>

 *host\$1name*   
要成為來源資料庫執行個體之 MySQL 執行個體 (在 Amazon RDS 外部執行) 的主機名稱或 IP 地址。

 *host\$1port*   
要設定為來源資料庫執行個體之 MySQL 執行個體 (在 Amazon RDS 外部執行) 所使用的連線埠。如果網路組態包含會轉換連線埠號碼的安全殼層 (SSH) 連線埠複寫，請指定 SSH 所公開的連線埠號碼。

 *replication\$1user\$1name*   
在 Amazon RDS 外部執行的 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的使用者 ID。我們建議您提供單獨用於外部執行個體複寫的帳戶。

 *replication\$1user\$1password*   
`replication_user_name` 中指定之使用者 ID 的密碼。

 *mysql\$1binary\$1log\$1file\$1name*   
來源資料庫執行個體上包含複寫資訊之二進位日誌的名稱。

 *mysql\$1binary\$1log\$1file\$1location*   
複寫在 `mysql_binary_log_file_name` 二進位日誌中開始讀取複寫資訊的位置。  
您可以藉由在來源資料庫執行個體上執行 `SHOW MASTER STATUS` 來判斷 binlog 檔案名稱和位置。

 *ssl\$1encryption*   
此值指定在複寫連線上是否使用 Secure Socket Layer (SSL) 加密。1 指定使用 SSL 加密，0 指定不使用加密。預設為 0。  
不支援 `MASTER_SSL_VERIFY_SERVER_CERT` 選項。此選項設定為 0，表示連線已加密，但憑證未經過驗證。

### 使用須知
<a name="mysql_rds_set_external_master-usage-notes"></a>

主要使用者必須執行 `mysql.rds_set_external_master` 程序。此程序必須在要設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 之僅供讀取複本的 MySQL 資料庫執行個體上執行。

在執行 `mysql.rds_set_external_master` 之前，您必須將 Amazon RDS 外部執行的 MySQL 執行個體設定為來源資料庫執行個體。若要連線至 Amazon RDS 外部執行的 MySQL 執行個體，您必須指定 `replication_user_name` 和 `replication_user_password` 值，以指出在外部 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的複寫使用者。

**將外部 MySQL 執行個體設定為來源資料庫執行個體**

1. 使用您選擇的 MySQL 用戶端，連線至外部 MySQL 執行個體，並建立用於複寫的使用者帳戶。下列是 範例。

   **MySQL 5.7**

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```

   **MySQL 8.0**

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED WITH mysql_native_password BY 'password';
   ```
**注意**  
指定此處所顯示提示以外的密碼，作為安全最佳實務。

1. 在外部 MySQL 執行個體上，將 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予複寫使用者。下列範例將所有資料庫上的 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您網域中的 'repl\$1user' 使用者。

   **MySQL 5.7**

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```

   **MySQL 8.0**

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
   ```

若要使用加密複寫，請將來源資料庫執行個體設定為使用 SSL 連線。此外，使用 [mysql.rds\$1import\$1binlog\$1ssl\$1material](#mysql_rds_import_binlog_ssl_material) 程序，將憑證認證機構憑證、用戶端憑證和用戶端金鑰匯入資料庫執行個體或資料庫叢集。

**注意**  
我們提供這些預存程序主要是為了對 Amazon RDS 外部執行的 MySQL 執行個體啟用複寫。如果可能，建議您使用 Aurora 複本來管理 Aurora MySQL 資料庫叢集內的複寫。如需 Aurora MySQL 資料庫叢集中管理複寫的相關資訊，請參閱 [使用 Aurora 複本](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas)。

呼叫 `mysql.rds_set_external_master` 將 Amazon RDS 資料庫執行個體設定為僅供讀取複本之後，您可以在僅供讀取複本上呼叫 [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) 來啟動複寫程序。您可以呼叫 [mysql.rds\$1reset\$1external\$1master (Aurora MySQL 第 2 版)](#mysql_rds_reset_external_master) 來移除僅供讀取複本組態。

呼叫 `mysql.rds_set_external_master` 時，Amazon RDS 將時間、使用者和 `set master` 的動作記錄在 `mysql.rds_history` 和 `mysql.rds_replication_status` 資料表中。

### 範例
<a name="mysql_rds_set_external_master-examples"></a>

在 MySQL 資料庫執行個體上執行時，下列範例會將資料庫執行個體設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

```
call mysql.rds_set_external_master(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## mysql.rds\$1set\$1external\$1source (Aurora MySQL 第 3 版)
<a name="mysql_rds_set_external_source"></a>

將 Aurora MySQL 資料庫執行個體設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

**重要**  
若要執行此程序，必須啟用 `autocommit`。若要啟用它，請將 `autocommit` 參數設定為 `1`。如需修改參數的相關資訊，請參閱[修改 Amazon Aurora 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)。

### 語法
<a name="mysql_rds_set_external_source-syntax"></a>

 

```
CALL mysql.rds_set_external_source (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , mysql_binary_log_file_name
  , mysql_binary_log_file_location
  , ssl_encryption
);
```

### 參數
<a name="mysql_rds_set_external_source-parameters"></a>

 *host\$1name*   
要成為來源資料庫執行個體之 MySQL 執行個體 (在 Amazon RDS 外部執行) 的主機名稱或 IP 地址。

 *host\$1port*   
要設定為來源資料庫執行個體之 MySQL 執行個體 (在 Amazon RDS 外部執行) 所使用的連線埠。如果網路組態包含會轉換連線埠號碼的安全殼層 (SSH) 連線埠複寫，請指定 SSH 所公開的連線埠號碼。

 *replication\$1user\$1name*   
在 Amazon RDS 外部執行的 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的使用者 ID。我們建議您提供單獨用於外部執行個體複寫的帳戶。

 *replication\$1user\$1password*   
`replication_user_name` 中指定之使用者 ID 的密碼。

 *mysql\$1binary\$1log\$1file\$1name*   
來源資料庫執行個體上包含複寫資訊之二進位日誌的名稱。

 *mysql\$1binary\$1log\$1file\$1location*   
複寫在 `mysql_binary_log_file_name` 二進位日誌中開始讀取複寫資訊的位置。  
您可以藉由在來源資料庫執行個體上執行 `SHOW MASTER STATUS` 來判斷 binlog 檔案名稱和位置。

 *ssl\$1encryption*   
此值指定在複寫連線上是否使用 Secure Socket Layer (SSL) 加密。1 指定使用 SSL 加密，0 指定不使用加密。預設值為 0。  
您必須使用 [mysql.rds\$1import\$1binlog\$1ssl\$1material](#mysql_rds_import_binlog_ssl_material) 匯入自訂 SSL 憑證，才能啟用此選項。如果您尚未匯入自訂 SSL 憑證，請將此參數設為 0，並使用 [mysql.rds\$1set\$1binlog\$1source\$1ssl (Aurora MySQL 第 3 版)](#mysql_rds_set_binlog_source_ssl) 以針對二進制日誌複寫啟用 SSL。  
不支援 `SOURCE_SSL_VERIFY_SERVER_CERT` 選項。此選項設定為 0，表示連線已加密，但憑證未經過驗證。

### 使用須知
<a name="mysql_rds_set_external_source-usage-notes"></a>

管理使用者必須執行 `mysql.rds_set_external_source` 程序。此程序必須在要設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 之僅供讀取複本的 Aurora MySQL 資料庫執行個體上執行。

 在執行 `mysql.rds_set_external_source` 之前，您必須將 Amazon RDS 外部執行的 MySQL 執行個體設定為來源資料庫執行個體。若要連線至 Amazon RDS 外部執行的 MySQL 執行個體，您必須指定 `replication_user_name` 和 `replication_user_password` 值，以指出在外部 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的複寫使用者。

**將外部 MySQL 執行個體設定為來源資料庫執行個體**

1. 使用您選擇的 MySQL 用戶端，連線至外部 MySQL 執行個體，並建立用於複寫的使用者帳戶。下列是 範例。

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
   ```
**注意**  
指定此處所顯示提示以外的密碼，作為安全最佳實務。

1. 在外部 MySQL 執行個體上，將 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予複寫使用者。下列範例將所有資料庫上的 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您網域中的 'repl\$1user' 使用者。

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
   ```

若要使用加密複寫，請將來源資料庫執行個體設定為使用 SSL 連線。此外，使用 [mysql.rds\$1import\$1binlog\$1ssl\$1material](url-rds-user;mysql_rds_import_binlog_ssl_material.html) 程序，將憑證授權單位憑證、用戶端憑證和用戶端金鑰匯入資料庫執行個體或資料庫叢集。

**注意**  
我們提供這些預存程序主要是為了對 Amazon RDS 外部執行的 MySQL 執行個體啟用複寫。如果可能，建議您使用 Aurora 複本來管理 Aurora MySQL 資料庫叢集內的複寫。如需 Aurora MySQL 資料庫叢集中管理複寫的相關資訊，請參閱 [使用 Aurora 複本](AuroraMySQL.Replication.md#AuroraMySQL.Replication.Replicas)。

呼叫 `mysql.rds_set_external_source` 將 Aurora MySQL 資料庫執行個體設定為僅供讀取複本之後，您可以在僅供讀取複本上呼叫 [mysql.rds\$1start\$1replication](#mysql_rds_start_replication) 來啟動複寫程序。您可以呼叫 [mysql.rds\$1reset\$1external\$1source (Aurora MySQL 第 3 版)](#mysql_rds_reset_external_source) 來移除僅供讀取複本組態。

呼叫 `mysql.rds_set_external_source` 時，Amazon RDS 將時間、使用者和 `set master` 的動作記錄在 `mysql.rds_history` 和 `mysql.rds_replication_status` 資料表中。

### 範例
<a name="mysql_rds_set_external_source-examples"></a>

在 Aurora MySQL 資料庫執行個體上執行時，下列範例會將資料庫執行個體設定為 MySQL 執行個體 (在 Amazon RDS 外部執行) 的僅供讀取複本。

```
call mysql.rds_set_external_source(
  'Externaldb.some.com',
  3306,
  'repl_user',
  'password',
  'mysql-bin-changelog.0777',
  120,
  1);
```

## mysql.rds\$1set\$1external\$1master\$1with\$1auto\$1position (Aurora MySQL 第 2 版)
<a name="mysql_rds_set_external_master_with_auto_position"></a>

設定 Aurora MySQL 主要執行個體以接受從外部 MySQL 執行個體傳入的複寫。此程序也會依據全域交易識別符 (GTID) 設定複寫。

此程序不會設定延遲複寫，因為 Aurora MySQL 不支援延遲複寫。

### 語法
<a name="mysql_rds_set_external_master_with_auto_position-syntax"></a>

```
CALL mysql.rds_set_external_master_with_auto_position (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , ssl_encryption
);
```

### 參數
<a name="mysql_rds_set_external_master_with_auto_position-parameters"></a>

*host\$1name*  
 要成為複寫來源之 MySQL 執行個體 (在 Aurora 外部執行) 的主機名稱或 IP 地址。

*host\$1port*  
 要設定為複寫來源之 MySQL 執行個體 (在 Aurora 外部執行) 所使用的連線埠。如果網路組態包含會轉換連線埠號碼的安全殼層 (SSH) 連線埠複寫，請指定 SSH 所公開的連線埠號碼。

*replication\$1user\$1name*  
 在 Aurora 外部執行的 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的使用者 ID。我們建議您提供單獨用於外部執行個體複寫的帳戶。

*replication\$1user\$1password*  
`replication_user_name` 中指定之使用者 ID 的密碼。

*ssl\$1encryption*  
此選項目前尚未實作。預設值為 0。

### 使用須知
<a name="mysql_rds_set_external_master_with_auto_position-usage-notes"></a>

針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

主要使用者必須執行 `mysql.rds_set_external_master_with_auto_position` 程序。主要使用者會在做為複寫目標的 Aurora MySQL 資料庫叢集主要執行個體上執行此程序。這可能是外部 MySQL 資料庫執行個體或 Aurora MySQL 資料庫叢集的複本目標。

Aurora MySQL 第 2 版支援此程序。對於 Aurora MySQL 第 3 版，請改用 [mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (Aurora MySQL 第 3 版)](#mysql_rds_set_external_source_with_auto_position)。

在您執行 `mysql.rds_set_external_master_with_auto_position` 前，請將外部 MySQL 資料庫執行個體設定為複寫來源。如要連線至外部 MySQL 執行個體，請指定 `replication_user_name` 和 `replication_user_password` 的值。這些值必須指明具有 MySQL 外部執行個體 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的複寫使用者。

**將外部 MySQL 執行個體設定為複寫來源**

1. 使用您選擇的 MySQL 用戶端，連線至外部 MySQL 執行個體，並建立用於複寫的使用者帳戶。以下是範例。

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1. 若為外部 MySQL 執行個體，請將 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您的複寫使用者。下列範例將所有資料庫上的 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您網域中的 `'repl_user'` 使用者。

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

當您呼叫 `mysql.rds_set_external_master_with_auto_position` 時，Amazon RDS 會記錄特定資訊。此資訊為時間、使用者，以及 `"set master"` 和 `mysql.rds_history` 資料表中的 `mysql.rds_replication_status` 動作。

若要略過已知會導致災難的特定 GTID 型交易，可以使用 [mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL 第 2 版和第 3 版）](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid) 預存程序。如需有關依據 GTID 複寫的詳細資訊，請參閱[使用 GTID 式複寫](mysql-replication-gtid.md)。

### 範例
<a name="mysql_rds_set_external_master_with_auto_position-examples"></a>

 在 Aurora 主要執行個體上執行時，下列範例會將 Aurora 叢集設定為 MySQL 執行個體 (在 Aurora 外部執行) 的僅供讀取複本。

```
call mysql.rds_set_external_master_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user'@'mydomain.com',
  'SomePassW0rd');
```

## mysql.rds\$1set\$1external\$1source\$1with\$1auto\$1position (Aurora MySQL 第 3 版)
<a name="mysql_rds_set_external_source_with_auto_position"></a>

設定 Aurora MySQL 主要執行個體以接受從外部 MySQL 執行個體傳入的複寫。此程序也會依據全域交易識別符 (GTID) 設定複寫。

### 語法
<a name="mysql_rds_set_external_source_with_auto_position-syntax"></a>

```
CALL mysql.rds_set_external_source_with_auto_position (
  host_name
  , host_port
  , replication_user_name
  , replication_user_password
  , ssl_encryption
);
```

### 參數
<a name="mysql_rds_set_external_source_with_auto_position-parameters"></a>

*host\$1name*  
 要成為複寫來源之 MySQL 執行個體 (在 Aurora 外部執行) 的主機名稱或 IP 地址。

*host\$1port*  
 要設定為複寫來源之 MySQL 執行個體 (在 Aurora 外部執行) 所使用的連線埠。如果網路組態包含會轉換連線埠號碼的安全殼層 (SSH) 連線埠複寫，請指定 SSH 所公開的連線埠號碼。

*replication\$1user\$1name*  
 在 Aurora 外部執行的 MySQL 執行個體上具有 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的使用者 ID。我們建議您提供單獨用於外部執行個體複寫的帳戶。

*replication\$1user\$1password*  
 `replication_user_name` 中指定之使用者 ID 的密碼。

*ssl\$1encryption*  
此選項目前尚未實作。預設值為 0。  
使用 [mysql.rds\$1set\$1binlog\$1source\$1ssl (Aurora MySQL 第 3 版)](#mysql_rds_set_binlog_source_ssl) 以針對二進制日誌複寫啟用 SSL。

### 使用須知
<a name="mysql_rds_set_external_source_with_auto_position-usage-notes"></a>

 針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

 管理使用者必須執行 `mysql.rds_set_external_source_with_auto_position` 程序。管理使用者會在做為複寫目標的 Aurora MySQL 資料庫叢集主要執行個體上執行此程序。這可能是外部 MySQL 資料庫執行個體或 Aurora MySQL 資料庫叢集的複本目標。

Aurora MySQL 第 3 版支援此程序。此程序不會設定延遲複寫，因為 Aurora MySQL 不支援延遲複寫。

 在您執行 `mysql.rds_set_external_source_with_auto_position` 前，請將外部 MySQL 資料庫執行個體設定為複寫來源。如要連線至外部 MySQL 執行個體，請指定 `replication_user_name` 和 `replication_user_password` 的值。這些值必須指明具有 MySQL 外部執行個體 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 許可的複寫使用者。

**將外部 MySQL 執行個體設定為複寫來源**

1.  使用您選擇的 MySQL 用戶端，連線至外部 MySQL 執行個體，並建立用於複寫的使用者帳戶。以下是範例。

   ```
   CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'SomePassW0rd'
   ```

1.  若為外部 MySQL 執行個體，請將 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您的複寫使用者。下列範例將所有資料庫上的 `REPLICATION CLIENT` 和 `REPLICATION SLAVE` 權限授予您網域中的 `'repl_user'` 使用者。

   ```
   GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com'
   IDENTIFIED BY 'SomePassW0rd'
   ```

 當您呼叫 `mysql.rds_set_external_source_with_auto_position` 時，Amazon RDS 會記錄特定資訊。此資訊為時間、使用者，以及 `"set master"` 和 `mysql.rds_history` 資料表中的 `mysql.rds_replication_status` 動作。

 若要略過已知會導致災難的特定 GTID 型交易，可以使用 [mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL 第 2 版和第 3 版）](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid) 預存程序。如需有關依據 GTID 複寫的詳細資訊，請參閱[使用 GTID 式複寫](mysql-replication-gtid.md)。

### 範例
<a name="mysql_rds_set_external_source_with_auto_position-examples"></a>

 在 Aurora 主要執行個體上執行時，下列範例會將 Aurora 叢集設定為 MySQL 執行個體 (在 Aurora 外部執行) 的僅供讀取複本。

```
call mysql.rds_set_external_source_with_auto_position(
  'Externaldb.some.com',
  3306,
  'repl_user'@'mydomain.com',
  'SomePassW0rd');
```

## mysql.rds\$1set\$1master\$1auto\$1position (Aurora MySQL 第 2 版）
<a name="mysql_rds_set_master_auto_position"></a>

將複寫模式設為依據二進制日誌檔案位置或全域交易識別符 (GTID)。

### 語法
<a name="mysql_rds_set_master_auto_position-syntax"></a>

 

```
CALL mysql.rds_set_master_auto_position (
auto_position_mode
);
```

### 參數
<a name="mysql_rds_set_master_auto_position-parameters"></a>

 *auto\$1position\$1mode*   
此值指示要使用日誌檔案位置複寫或是 GTID 複寫：  
+ `0` – 使用依據二進制日誌檔案位置的複寫模式。預設值為 `0`。
+ `1` – 使用依據 GTID 的複寫方法。

### 使用須知
<a name="mysql_rds_set_master_auto_position-usage-notes"></a>

主要使用者必須執行 `mysql.rds_set_master_auto_position` 程序。

Aurora MySQL 第 2 版支援此程序。

## mysql.rds\$1set\$1read\$1only (Aurora MySQL 第 3 版)
<a name="mysql_rds_set_read_only"></a>

針對資料庫執行個體全域開啟或關閉 `read_only` 模式。

### 語法
<a name="mysql_rds_set_read_only-syntax"></a>

```
CALL mysql.rds_set_read_only(mode);
```

### Parameters
<a name="mysql_rds_set_read_only-parameters"></a>

*模式*  
指出針對資料庫執行個體全域開啟或關閉 `read_only` 模式的值：  
+ `0` – `OFF`。預設值為 `0`。
+ `1` – `ON`

### 使用須知
<a name="mysql_rds_set_read_only-usage"></a>

`mysql.rds_set_read_only` 預存程序只會修改 `read_only` 參數。`innodb_read_only` 參數無法在讀取器資料庫執行個體上變更。

`read_only` 參數變更不會在重新啟動時保留。若要對 `read_only` 進行永久變更，您必須使用 `read_only` 資料庫叢集參數。

Aurora MySQL 3.04 版及更新版本支援此程序。

## mysql.rds\$1set\$1session\$1binlog\$1format (Aurora MySQL 2 版)
<a name="mysql_rds_set_session_binlog_format"></a>

設定目前工作階段的二進位日誌格式。

### 語法
<a name="mysql_rds_set_session_binlog_format-syntax"></a>

```
CALL mysql.rds_set_session_binlog_format(format);
```

### Parameters
<a name="mysql_rds_set_session_binlog_format-parameters"></a>

*format*  
指示目前工作階段的二進位日誌格式的值：  
+ `STATEMENT` – 複寫來源會根據 SQL 陳述式將事件寫入二進位日誌。
+ `ROW` – 複寫來源會將事件寫入二進位日誌，指示個別資料表資料列的變更。
+ `MIXED` – 日誌記錄通常以 SQL 陳述式為基礎，但在特定條件下會切換至資料列。如需詳細資訊，請參閱 MySQL 文件中的[混合式二進位日誌格式](https://dev.mysql.com/doc/refman/8.0/en/binary-log-mixed.html)。

### 使用須知
<a name="mysql_rds_set_session_binlog_format-usage"></a>

針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

若要使用這個預存程序，您必須為目前的工作階段設定二進位日誌。

針對 Aurora，Aurora MySQL 2.12 版和更新的相容版本 MySQL 5.7 支援此程序。

## mysql.rds\$1set\$1source\$1auto\$1position (Aurora MySQL 第 3 版)
<a name="mysql_rds_set_source_auto_position"></a>

將複寫模式設為依據二進制日誌檔案位置或全域交易識別符 (GTID)。

### 語法
<a name="mysql_rds_set_source_auto_position-syntax"></a>

```
CALL mysql.rds_set_source_auto_position (auto_position_mode);
```

### 參數
<a name="mysql_rds_set_source_auto_position-parameters"></a>

*auto\$1position\$1mode*  
此值指示要使用日誌檔案位置複寫或是 GTID 複寫：  
+  `0` – 使用依據二進制日誌檔案位置的複寫模式。預設值為 `0`。
+  `1` – 使用依據 GTID 的複寫方法。

### 使用須知
<a name="mysql_rds_set_source_auto_position-usage-notes"></a>

針對 Aurora MySQL 資料庫叢集，您可在連線至主要執行個體時呼叫此預存程序。

管理使用者必須執行 `mysql.rds_set_source_auto_position` 程序。

## mysql.rds\$1skip\$1repl\$1error
<a name="mysql_rds_skip_repl_error"></a>

略過和刪除 MySQL 資料庫僅供讀取複本上的複寫錯誤。

### 語法
<a name="mysql_rds_skip_repl_error-syntax"></a>

 

```
CALL mysql.rds_skip_repl_error;
```

### 使用須知
<a name="mysql_rds_skip_repl_error-usage-notes"></a>

主要使用者必須在僅供讀取複本上執行 `mysql.rds_skip_repl_error` 程序。如需有關此程序的詳細資訊，請參閱[略過目前的複寫錯誤](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#Appendix.MySQL.CommonDBATasks.SkipError)。

若要判斷是否有錯誤，執行 MySQL `SHOW REPLICA STATUS\G` 命令。如果複寫錯誤不嚴重，您可以執行 `mysql.rds_skip_repl_error` 來略過錯誤。如果有多個錯誤，`mysql.rds_skip_repl_error` 會刪除第一個錯誤，然後警告還有其他錯誤。然後，您可以使用 `SHOW REPLICA STATUS\G`，以針對下一個錯誤判斷正確的行動步驟。如需傳回值的相關資訊，請參閱 MySQL 文件中的 [SHOW REPLICA STATUS 陳述式](https://dev.mysql.com/doc/refman/8.0/en/show-replica-status.html)。

如需有關解決 Aurora MySQL 複寫錯誤的詳細資訊，請參閱 [診斷和解決 MySQL 讀取複寫失敗](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.RR)。

#### 複寫已停止錯誤
<a name="skip_repl_error.stopped-error"></a>

當您呼叫 `mysql.rds_skip_repl_error` 程序時，可能會收到錯誤訊息，指出複本已關閉或停用。

如果您在主要執行個體而非僅供讀取複本上執行程序，此錯誤訊息就會出現。您必須在僅供讀取複本上執行此程序，程序才能運作。

如果您在僅供讀取複本上執行程序，但複寫無法成功重新啟動，此錯誤訊息也可能出現。

如果您需要略過大量錯誤，複寫延遲可能增加至超出二進位日誌(binlog) 檔案的預設保留期間。在此情況下，由於在清除 binlog 檔案之前已在僅供讀取複本上重播該檔案，您可能會遇到嚴重錯誤。此清除動作會導致複寫停止，而您將無法再呼叫 `mysql.rds_skip_repl_error` 命令來略過複寫錯誤。

透過增加 binlog 檔案在來源資料庫執行個體上保留的小時數，即可以減輕此問題。在延長二進位記錄檔保留時間之後，您可以重新啟動複寫，並視需要呼叫 `mysql.rds_skip_repl_error` 命令。

若要設定 binlog 保留時間，請使用 [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) 程序，並指定 `'binlog retention hours'`組態參數加上資料庫叢集上保留 binlog 檔案的時數。下列範例會將 binlog 檔案的保留期間設定為 48 小時。

```
CALL mysql.rds_set_configuration('binlog retention hours', 48);
```

## mysql.rds\$1start\$1replication
<a name="mysql_rds_start_replication"></a>

從 Aurora MySQL 資料庫叢集起始複寫。

**注意**  
您可使用 [mysql.rds\$1start\$1replication\$1until(Aurora MySQL 第 3 版）](#mysql_rds_start_replication_until) 或 [mysql.rds\$1start\$1replication\$1until\$1gtid(Aurora MySQL 第 3 版）](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid) 預存程序從 Aurora MySQL 資料庫執行個體來啟動複寫，並從特定的二進位日誌檔案位置停止複寫。

### 語法
<a name="mysql_rds_start_replication-syntax"></a>

 

```
CALL mysql.rds_start_replication;
```

### 使用須知
<a name="mysql_rds_start_replication-usage-notes"></a>

主要使用者必須執行 `mysql.rds_start_replication` 程序。

如果要從 Amazon RDS 外部的 MySQL 執行個體匯入資料，請呼叫 [mysql.rds\$1set\$1external\$1master (Aurora MySQL 第 2 版)](#mysql_rds_set_external_master) 或 [mysql.rds\$1set\$1external\$1source (Aurora MySQL 第 3 版)](#mysql_rds_set_external_source) 來建置複寫組態，再呼叫僅供讀取複本上的 `mysql.rds_start_replication` 來啟動複寫程序。如需詳細資訊，請參閱[Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。

若要將資料匯出至 Amazon RDS 外部的 MySQL 執行個體，請在僅供讀取複本上呼叫 `mysql.rds_start_replication` 和 `mysql.rds_stop_replication` 來控制某些複寫動作，例如清除二進位日誌。如需詳細資訊，請參閱[Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。

您也可以對僅供讀取複本呼叫 `mysql.rds_start_replication`，以重新啟動您先前呼叫 `mysql.rds_stop_replication` 所停止的任何複寫程序。如需詳細資訊，請參閱[複寫已停止錯誤](CHAP_Troubleshooting.md#CHAP_Troubleshooting.MySQL.ReplicationStopped)。

## mysql.rds\$1start\$1replication\$1until(Aurora MySQL 第 3 版）
<a name="mysql_rds_start_replication_until"></a>

從 Aurora MySQL 資料庫叢集啟動複寫，並從特定的二進位日誌檔案位置停止複寫。

### 語法
<a name="mysql_rds_start_replication_until-syntax"></a>

 

```
CALL mysql.rds_start_replication_until (
replication_log_file
  , replication_stop_point
);
```

### 參數
<a name="mysql_rds_start_replication_until-parameters"></a>

 *replication\$1log\$1file*   
來源資料庫執行個體上包含複寫資訊之二進位日誌的名稱。

 *replication\$1stop\$1point *   
在 `replication_log_file` 二進位日誌中的複寫將停止的位置。

### 使用須知
<a name="mysql_rds_start_replication_until-usage-notes"></a>

主要使用者必須執行 `mysql.rds_start_replication_until` 程序。

Aurora MySQL 3.04 版及更新版本支援此程序。

受管複寫不支援 `mysql.rds_start_replication_until` 預存程序，其中包括下列項目：
+ [跨 AWS 區域 複寫 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Replication.CrossRegion.md)
+ [使用 Aurora 讀取複本，從 RDS for MySQL 資料庫執行個體將資料遷移至 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

`replication_log_file` 參數的指定檔名必須與來源資料庫執行個體 binlog 檔案的名稱相同。

當 `replication_stop_point` 參數指定了過去的一個停止位置，複寫即會立即停止。

### 範例
<a name="mysql_rds_start_replication_until-examples"></a>

以下範例會啟動複寫並複寫變更，直到達到 `120` 二進位日誌檔案中的位置 `mysql-bin-changelog.000777` 為止。

```
call mysql.rds_start_replication_until(
  'mysql-bin-changelog.000777',
  120);
```

## mysql.rds\$1stop\$1replication
<a name="mysql_rds_stop_replication"></a>

從 MySQL 資料庫執行個體停止複寫。

### 語法
<a name="mysql_rds_stop_replication-syntax"></a>

 

```
CALL mysql.rds_stop_replication;
```

### 使用須知
<a name="mysql_rds_stop_replication-usage-notes"></a>

主要使用者必須執行 `mysql.rds_stop_replication` 程序。

如果您要將複寫設定為從 Amazon RDS 外部執行的 MySQL 執行個體匯入資料，在匯入完成之後，請在僅供讀取複本上呼叫 `mysql.rds_stop_replication` 來停止複寫程序。如需詳細資訊，請參閱[Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。

如果您要設定複寫將資料匯出至 Amazon RDS 外部的 MySQL 執行個體，請在僅供讀取複本上呼叫 `mysql.rds_start_replication` 和 `mysql.rds_stop_replication` 來控制某些複寫動作，例如清除二進位日誌。如需詳細資訊，請參閱[Aurora 與 MySQL 之間或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位複寫)](AuroraMySQL.Replication.MySQL.md)。

受管複寫不支援 `mysql.rds_stop_replication` 預存程序，其中包括下列項目：
+ [跨 AWS 區域 複寫 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Replication.CrossRegion.md)
+ [使用 Aurora 讀取複本，從 RDS for MySQL 資料庫執行個體將資料遷移至 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

# 結束工作階段或查詢
<a name="mysql-stored-proc-ending"></a>

下列預存程序會結束工作階段或查詢。

**Topics**
+ [mysql.rds\$1kill](#mysql_rds_kill)
+ [mysql.rds\$1kill\$1query](#mysql_rds_kill_query)

## mysql.rds\$1kill
<a name="mysql_rds_kill"></a>

結束 MySQL 伺服器的連線。

### 語法
<a name="mysql_rds_kill-syntax"></a>

```
CALL mysql.rds_kill(processID);
```

### 參數
<a name="mysql_rds_kill-parameters"></a>

 *processID*   
要結束之連線執行緒的身分。

### 使用須知
<a name="mysql_rds_kill-usage-notes"></a>

MySQL 伺服器的每個連線都在個別執行緒中執行。若要結束連線，請使用 `mysql.rds_kill` 程序並傳入該連線的執行緒 ID。若要取得執行緒 ID，請使用 MySQL [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html) 命令。

### 範例
<a name="mysql_rds_kill-examples"></a>

下列範例結束執行緒 ID 為 4243 的連線：

```
CALL mysql.rds_kill(4243);
```

## mysql.rds\$1kill\$1query
<a name="mysql_rds_kill_query"></a>

結束對 MySQL 伺服器執行的查詢。

### 語法
<a name="mysql_rds_kill_query-syntax"></a>

```
CALL mysql.rds_kill_query(processID);
```

### 參數
<a name="mysql_rds_kill_query-parameters"></a>

 *processID*   
正在執行要結束之查詢的處理序或執行緒的身分。

### 使用須知
<a name="mysql_rds_kill_query-usage-notes"></a>

若要停止對 MySQL 伺服器執行的查詢，請使用 `mysql_rds_kill_query` 程序並傳入執行查詢之執行緒的連線 ID。然後程序就會終止連線。

若要取得 ID，請查詢 MySQL [INFORMATION\$1SCHEMA PROCESSLIST 資料表](https://dev.mysql.com/doc/refman/8.0/en/information-schema-processlist-table.html)或使用 MySQL [SHOW PROCESSLIST](https://dev.mysql.com/doc/refman/8.0/en/show-processlist.html) 命令。`SHOW PROCESSLIST` 或 `SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST` 中 ID 欄的值為 *processID*。

### 範例
<a name="mysql_rds_kill_query-examples"></a>

下列範例會停止查詢執行緒 ID 為 230040 的查詢：

```
CALL mysql.rds_kill_query(230040);
```

# 使用 GTID 複寫交易
<a name="mysql-stored-proc-gtid"></a>

下列預存程序控制如何使用全域交易識別符 (GTID) 搭配 Aurora MySQL 複寫交易。如要了解透過 Aurora MySQL 使用以 GTID 為基礎的複寫使用方式，請參閱 [使用 GTID 式複寫](mysql-replication-gtid.md)。

**Topics**
+ [mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL 第 3 版)](#mysql_assign_gtids_to_anonymous_transactions)
+ [mysql.rds\$1gtid\$1purged (Aurora MySQL 3 版)](#mysql_rds_gtid_purged)
+ [mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL 第 2 版和第 3 版）](#mysql_rds_skip_transaction_with_gtid)
+ [mysql.rds\$1start\$1replication\$1until\$1gtid(Aurora MySQL 第 3 版）](#mysql_rds_start_replication_until_gtid)

## mysql.rds\$1assign\$1gtids\$1to\$1anonymous\$1transactions (Aurora MySQL 第 3 版)
<a name="mysql_assign_gtids_to_anonymous_transactions"></a>

配置 `CHANGE REPLICATION SOURCE TO` 陳述式的 `ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS` 選項。它會使複寫通道將 GTID 指派給沒有 GTID 的複寫交易。如此一來，您就可以將二進位日誌從不使用 GTID 型複寫的來源複寫到使用該複寫的複本。如需詳細資訊，請參閱《MySQL 參考手冊》**中的 [CHANGE REPLICATION SOURCE TO 陳述式](https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html)和[從沒有 GTID 的來源複寫到具有 GTID 的複本](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html)。

### 語法
<a name="mysql_assign_gtids_to_anonymous_transactions-syntax"></a>

```
CALL mysql.rds_assign_gtids_to_anonymous_transactions(gtid_option);
```

### Parameters
<a name="mysql_assign_gtids_to_anonymous_transactions-parameters"></a>

 *gtid\$1option*  
字串值。允許的值為 `OFF`、`LOCAL` 或指定的 UUID。

### 使用須知
<a name="mysql_assign_gtids_to_anonymous_transactions-usage-notes"></a>

此程序的效果與在社群 MySQL 中發出陳述式 `CHANGE REPLICATION SOURCE TO ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = gtid_option` 相同。

 GTID 必須轉換為 `ON`，*gtid\$1option* 才能設定為 `LOCAL` 或特定的 UUID。

預設為 `OFF`，表示不使用該功能。

`LOCAL` 會指派 GTID，其中包含複本自己的 UUID (`server_uuid` 設定)。

傳遞的參數是 UUID，則會指派一個 UUID，其中包含指定的 GTID，例如複寫來源伺服器的 `server_uuid` 設定。

### 範例
<a name="mysql_assign_gtids_to_anonymous_transactions-examples"></a>

若要關閉此功能：

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('OFF');
+-------------------------------------------------------------+
| Message  |
+-------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: OFF |
+-------------------------------------------------------------+
1 row in set (0.07 sec)
```

若要使用複本自己的 UUID：

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('LOCAL');
+---------------------------------------------------------------+
| Message  |
+---------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: LOCAL |
+---------------------------------------------------------------+
1 row in set (0.07 sec)
```

若要使用指定的 UUID：

```
mysql> call mysql.rds_assign_gtids_to_anonymous_transactions('317a4760-f3dd-3b74-8e45-0615ed29de0e');
+----------------------------------------------------------------------------------------------+
| Message |
+----------------------------------------------------------------------------------------------+
| ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS has been set to: 317a4760-f3dd-3b74-8e45-0615ed29de0e |
+----------------------------------------------------------------------------------------------+
1 row in set (0.07 sec)
```

## mysql.rds\$1gtid\$1purged (Aurora MySQL 3 版)
<a name="mysql_rds_gtid_purged"></a>



將系統變數 `gtid_purged` 的全域值設定為特定全域交易識別碼 (GTID) 設定。`gtid_purged` 系統變數是一個 GTID 集，由伺服器上已提交但不存在於伺服器上的任何二進位日誌檔中的所有 GTID 交易組成。

為了與 MySQL 8.0 相容，有兩種方法可以設定 `gtid_purged` 的值：
+ 將 `gtid_purged` 的值取代為指定的 GTID 設定。
+ 將指定的 GTID 集附加至已包含 `gtid_purged` 的 GTID 設定。

### 語法
<a name="mysql_rds_gtid_purged-syntax"></a>

若要使用指定的 GTID 設定取代 `gtid_purged` 的值：

```
CALL mysql.rds_gtid_purged (gtid_set);
```

若要將指定的 GTID 設定附加至 `gtid_purged` 的值：

```
CALL mysql.rds_gtid_purged (+gtid_set);
```

### Parameters
<a name="mysql_rds_gtid_purged-parameters"></a>

*gtid\$1set*  
*gtid\$1set* 的值必須是目前 `gtid_purged` 值的超集，且不能與 `gtid_subtract(gtid_executed,gtid_purged)` 相交。也就是說，新的 GTID 集必須包含已在 `gtid_purged` 中的任何 GTID，並且不能在 `gtid_executed` 中包含任何 GTID 尚未清除的項目。*gtid\$1set* 參數也不能包含全域中的任何 GTID `gtid_owned` 設定，目前正在伺服器上處理交易的 GTID。

### 使用須知
<a name="mysql_rds_gtid_purged-usage-notes"></a>

主要使用者必須執行 `mysql.rds_gtid_purged` 程序。

Aurora MySQL 3.04 版及更新版本支援此程序。

### 範例
<a name="mysql_rds_gtid_purged-examples"></a>

下列範例會指派 GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` 到 `gtid_purged` 全域變數。

```
CALL mysql.rds_gtid_purged('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\$1skip\$1transaction\$1with\$1gtid(Aurora MySQL 第 2 版和第 3 版）
<a name="mysql_rds_skip_transaction_with_gtid"></a>

略過 Aurora 主要執行個體上具有指定全域交易識別碼 (GTID) 之交易的複寫。

若已知特定 GTID 交易導致錯誤，可以使用此程序進行災難復原。使用此預存程序來略過有問題的交易。有問題的交易範例包括停用複寫、刪除重要資料或導致資料庫執行個體無法使用的交易。

### 語法
<a name="mysql_rds_skip_transaction_with_gtid-syntax"></a>

 

```
CALL mysql.rds_skip_transaction_with_gtid (
gtid_to_skip
);
```

### Parameters
<a name="mysql_rds_skip_transaction_with_gtid-parameters"></a>

 *gtid\$1to\$1skip*   
要略過的複寫交易的 GTID。

### 使用須知
<a name="mysql_rds_skip_transaction_with_gtid-usage-notes"></a>

主要使用者必須執行 `mysql.rds_skip_transaction_with_gtid` 程序。

Aurora MySQL 第 2 版和第 3 版支援此程序。

### 範例
<a name="mysql_rds_skip_transaction_with_gtid-examples"></a>

下列範例會略過使用 GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` 進行交易的複寫。

```
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

## mysql.rds\$1start\$1replication\$1until\$1gtid(Aurora MySQL 第 3 版）
<a name="mysql_rds_start_replication_until_gtid"></a>

從 Aurora MySQL 資料庫叢集啟動複寫，並在指定的全域交易識別碼 (GTID) 之後立即停止複寫。

### 語法
<a name="mysql_rds_start_replication_until_gtid-syntax"></a>

 

```
CALL mysql.rds_start_replication_until_gtid(gtid);
```

### Parameters
<a name="mysql_rds_start_replication_until_gtid-parameters"></a>

 *gtid*   
在此 GTID 後停止複寫。

### 使用須知
<a name="mysql_rds_start_replication_until_gtid-usage-notes"></a>

主要使用者必須執行 `mysql.rds_start_replication_until_gtid` 程序。

Aurora MySQL 3.04 版及更新版本支援此程序。

受管複寫不支援 `mysql.rds_start_replication_until_gtid` 預存程序，其中包括下列項目：
+ [跨 AWS 區域 複寫 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Replication.CrossRegion.md)
+ [使用 Aurora 讀取複本，從 RDS for MySQL 資料庫執行個體將資料遷移至 Amazon Aurora MySQL 資料庫叢集](AuroraMySQL.Migrating.RDSMySQL.Replica.md)

當 `gtid` 參數指定了複本已經執行的交易時，複寫會立即停止。

### 範例
<a name="mysql_rds_start_replication_until_gtid-examples"></a>

以下範例會啟動複寫並複寫變更，直到達到 GTID `3E11FA47-71CA-11E1-9E33-C80AA9429562:23` 為止。

```
call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
```

# 輪換查詢日誌
<a name="mysql-stored-proc-logging"></a>

下列預存程序會將 MySQL 日誌輪換為備份資料表。如需更多詳細資訊，請參閱 [Aurora MySQL資料庫日誌檔案](USER_LogAccess.Concepts.MySQL.md)。

**Topics**
+ [mysql.rds\$1rotate\$1general\$1log](#mysql_rds_rotate_general_log)
+ [mysql.rds\$1rotate\$1slow\$1log](#mysql_rds_rotate_slow_log)

## mysql.rds\$1rotate\$1general\$1log
<a name="mysql_rds_rotate_general_log"></a>

將 `mysql.general_log` 資料表輪換至備份資料表。

### 語法
<a name="mysql_rds_rotate_general_log-syntax"></a>

 

```
CALL mysql.rds_rotate_general_log;
```

### 使用須知
<a name="mysql_rds_rotate_general_log-usage-notes"></a>

您可以呼叫 `mysql.general_log` 程序，將 `mysql.rds_rotate_general_log` 資料表輪換至備份資料表。輪換日誌資料表時，目前日誌資料表會複製到備份日誌資料表，並移除目前日誌資料表中的項目。如果備份日誌資料表已存在，則其會在目前日誌資料表複製到備份之前遭到刪除。如有需要，您可以查詢備份日誌資料表。`mysql.general_log` 資料表的備份日誌資料表名為 `mysql.general_log_backup`。

當 `log_output` 參數設定為 `TABLE` 時，您僅可執行此程序。

## mysql.rds\$1rotate\$1slow\$1log
<a name="mysql_rds_rotate_slow_log"></a>

將 `mysql.slow_log` 資料表輪換至備份資料表。

### 語法
<a name="mysql_rds_rotate_slow_log-syntax"></a>

 

```
CALL mysql.rds_rotate_slow_log;
```

### 使用須知
<a name="mysql_rds_rotate_slow_log-usage-notes"></a>

您可以呼叫 `mysql.slow_log` 程序，將 `mysql.rds_rotate_slow_log` 資料表輪換至備份資料表。輪換日誌資料表時，目前日誌資料表會複製到備份日誌資料表，並移除目前日誌資料表中的項目。如果備份日誌資料表已存在，則其會在目前日誌資料表複製到備份之前遭到刪除。

如有需要，您可以查詢備份日誌資料表。`mysql.slow_log` 資料表的備份日誌資料表名為 `mysql.slow_log_backup`。

# 設定和顯示二進位日誌組態
<a name="mysql-stored-proc-configuring"></a>

下列預存程序會設定並顯示組態參數，例如二進位日誌檔案保留。

**Topics**
+ [mysql.rds\$1set\$1configuration](#mysql_rds_set_configuration)
+ [mysql.rds\$1show\$1configuration](#mysql_rds_show_configuration)

## mysql.rds\$1set\$1configuration
<a name="mysql_rds_set_configuration"></a>

指定保留二進位日誌的小時數，或延遲複寫的秒數。

### 語法
<a name="mysql_rds_set_configuration-syntax"></a>

 

```
CALL mysql.rds_set_configuration(name,value);
```

### Parameters
<a name="mysql_rds_set_configuration-parameters"></a>

 *name*   
要設定之組態參數的名稱。

 *value*   
組態參數的值。

### 使用須知
<a name="mysql_rds_set_configuration-usage-notes"></a>

`mysql.rds_set_configuration` 程序支援下列組態參數：
+ [binlog 保留 (小時)](#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)

組態參數會永久存放，且在任何資料庫執行個體重新啟動或容錯移轉後依然存在。

#### binlog 保留 (小時)
<a name="mysql_rds_set_configuration-usage-notes.binlog-retention-hours"></a>

`binlog retention hours` 參數用於指定保留二進位日誌檔的小時數。Amazon Aurora 通常會儘快清除二進位日誌，但複寫 Aurora 外部的 MySQL 資料庫時可能仍需要二進位日誌。

`binlog retention hours` 的預設值為 `NULL`。對於 Aurora MySQL，`NULL` 意味著二進位日誌被延遲清理。Aurora MySQL 二進位日誌可能會在系統中保留一段時間，通常不會超過一天。

若要指定在資料庫叢集上保留二進位日誌的時數，請使用 `mysql.rds_set_configuration` 預存程序，並指定讓複寫有足夠時間進行的期間，如下列範例所示。

`call mysql.rds_set_configuration('binlog retention hours', 24);`

**注意**  
不可針對 `binlog retention hours` 使用值 `0`。

對於 Aurora MySQL 2.11.0 版和更新版本，以及第 3 版資料庫叢集，最大 `binlog retention hours` 值是 2160 (90 天)。

設定保留期間之後，請監控資料庫執行個體的儲存體用量，確定保留的二進位日誌沒有佔用太多儲存體。

## mysql.rds\$1show\$1configuration
<a name="mysql_rds_show_configuration"></a>

保留二進位日誌的時數。

### 語法
<a name="mysql_rds_show_configuration-syntax"></a>

 

```
CALL mysql.rds_show_configuration;
```

### 使用須知
<a name="mysql_rds_show_configuration-usage-notes"></a>

若要驗證 Amazon RDS 保留二進位日誌的時數，請使用 `mysql.rds_show_configuration` 預存程序。

### 範例
<a name="mysql_rds_show_configuration-examples"></a>

下列範例顯示保留期間：

```
call mysql.rds_show_configuration;
                name                         value     description
                binlog retention hours       24        binlog retention hours specifies the duration in hours before binary logs are automatically deleted.
```

# Aurora MySQL 特定的 information\$1schema 資料表
<a name="AuroraMySQL.Reference.ISTables"></a>

Aurora MySQL 具有 Aurora 專屬的特定 `information_schema` 資料表。

## information\$1schema.aurora\$1global\$1db\$1instance\$1status
<a name="AuroraMySQL.Reference.ISTables.aurora_global_db_instance_status"></a>

`information_schema.aurora_global_db_instance_status` 資料表包含全球資料庫主要和次要資料庫叢集中所有資料庫執行個體狀態的相關資訊。下列資料表顯示您可以使用的資料欄。其餘的資料欄僅供 Aurora 內部使用。

**注意**  
Aurora MySQL 3.04.0 版及更新版本的全球資料庫才能使用此資訊結構描述表。


| 資料行 | 資料類型 | 描述 | 
| --- | --- | --- | 
| SERVER\$1ID | varchar(100) | 資料庫執行個體的識別符。 | 
| SESSION\$1ID | varchar(100) | 目前工作階段的唯一識別符。MASTER\$1SESSION\$1ID 值可識別寫入器 (主) 資料庫執行個體。 | 
| AWS\$1REGION | varchar(100) | 此全球資料庫執行個體執行所在的 AWS 區域。如需區域清單，請參閱 [區域可用性](Concepts.RegionsAndAvailabilityZones.md#Aurora.Overview.Availability)。 | 
| DURABLE\$1LSN | bigint unsigned | 可長期儲存的日誌序號 (LSN)。記錄序號 (LSN) 是一組獨特的序號，可用來識別資料庫交易日誌中的記錄。系統會排序 LSN，而 LSN 越大，就表示交易發生時間越後面。 | 
| HIGHEST\$1LSN\$1RCVD | bigint unsigned | 資料庫執行個體從寫入器資料庫執行個體接收的最高 LSN。 | 
| OLDEST\$1READ\$1VIEW\$1TRX\$1ID | bigint unsigned | 寫入器資料庫執行個體可清除到最舊的交易 ID。 | 
| OLDEST\$1READ\$1VIEW\$1LSN | bigint unsigned | 資料庫執行個體從儲存體中讀取資料時所使用的最舊 LSN。 | 
| VISIBILITY\$1LAG\$1IN\$1MSEC | 浮點 (10,0) 不帶正負號 | 對於主要資料庫叢集中的讀取器，此資料庫執行個體延遲於寫入器資料庫執行個體的時間 (以毫秒為單位)。對於次要資料庫叢集中的讀取器，此資料庫執行個體延遲於次要磁碟區的時間 (以毫秒為單位)。 | 

## information\$1schema.aurora\$1global\$1db\$1status
<a name="AuroraMySQL.Reference.ISTables.aurora_global_db_status"></a>

`information_schema.aurora_global_db_status` 資料表包含有關 Aurora 全球資料庫延遲各方面的資訊，特別是基礎 Aurora 儲存的延遲 (稱為持久性延遲) 及復原點目標 (RPO) 之間的延遲。下列資料表顯示您可以使用的資料欄。其餘的資料欄僅供 Aurora 內部使用。

**注意**  
Aurora MySQL 3.04.0 版及更新版本的全球資料庫才能使用此資訊結構描述表。


| 資料行 | 資料類型 | 描述 | 
| --- | --- | --- | 
| AWS\$1REGION | varchar(100) | 此全球資料庫執行個體執行所在的 AWS 區域。如需區域清單，請參閱 [區域可用性](Concepts.RegionsAndAvailabilityZones.md#Aurora.Overview.Availability)。 | 
| HIGHEST\$1LSN\$1WRITTEN | bigint unsigned | 目前存在於此資料庫叢集上的最高日誌序號 (LSN)。記錄序號 (LSN) 是一組獨特的序號，可用來識別資料庫交易日誌中的記錄。系統會排序 LSN，而 LSN 越大，就表示交易發生時間越後面。 | 
| DURABILITY\$1LAG\$1IN\$1MILLISECONDS | 浮點 (10,0) 不帶正負號 | 次要資料庫叢集上的 HIGHEST\$1LSN\$1WRITTEN 與主要資料庫叢集上的 HIGHEST\$1LSN\$1WRITTEN 之間的時間戳記值差異。在 Aurora 全球資料庫的主要資料庫叢集上，此值始終為 0。 | 
| RPO\$1LAG\$1IN\$1MILLISECONDS | 浮點 (10,0) 不帶正負號 | 復原點目標 (RPO) 延遲。RPO 延遲是指最近使用者交易 COMMIT 在儲存於 Aurora 全域資料庫的主資料庫叢集之後，將其儲存於次要資料庫叢集上所需的時間。在 Aurora 全球資料庫的主要資料庫叢集上，此值始終為 0。 簡言之，此指標會計算 Aurora 全球資料庫中每個 Aurora MySQL 資料庫叢集的復原點目標，亦即，若有中斷發生，可能會遺失的資料量。與延遲一樣，RPO 是以時間來衡量。 | 
| LAST\$1LAG\$1CALCULATION\$1TIMESTAMP | datetime | 指出上次為 DURABILITY\$1LAG\$1IN\$1MILLISECONDS 和 RPO\$1LAG\$1IN\$1MILLISECONDS 計算值的時間戳記。例如 1970-01-01 00:00:00\$100 之類的時間值表示此為主要資料庫叢集。 | 
| OLDEST\$1READ\$1VIEW\$1TRX\$1ID | bigint unsigned | 寫入器資料庫執行個體可清除到最舊的交易 ID。 | 

## information\$1schema.replica\$1host\$1status
<a name="AuroraMySQL.Reference.ISTables.replica_host_status"></a>

`information_schema.replica_host_status` 資料表包含複寫資訊。下表中顯示您可以使用的資料欄。其餘的資料欄僅供 Aurora 內部使用。


| 資料行 | 資料類型 | 描述 | 
| --- | --- | --- | 
| CPU | double | 複本主機的 CPU 使用率。 | 
| IS\$1CURRENT | tinyint | 複本是否為最新的。 | 
| LAST\$1UPDATE\$1TIMESTAMP | datetime(6) | 最新更新發生的時間。用來判斷記錄是否過時。 | 
| REPLICA\$1LAG\$1IN\$1MILLISECONDS | double | 複本延遲 (毫秒) | 
| SERVER\$1ID | varchar(100) | 資料庫伺服器的 ID。 | 
| SESSION\$1ID | varchar(100) | 資料庫工作階段的 ID。用來判斷資料庫執行個體是寫入器還是讀取器執行個體。 | 

**注意**  
當複本執行個體落後時，從其 `information_schema.replica_host_status` 資料表查詢的資訊可能已過期。在此情況下，建議您改從寫入器執行個體進行查詢。  
雖然 `mysql.ro_replica_status` 資料表具有類似的資訊，但不建議您使用它。

## information\$1schema.aurora\$1forwarding\$1processlist
<a name="AuroraMySQL.Reference.ISTables.aurora_forwarding_processlist"></a>

`information_schema.aurora_forwarding_processlist`資料表包含有關寫入轉送涉及的程序資訊。

只有在已開啟全域或叢集內寫入轉送的資料庫叢集的寫入器資料庫執行個體上，才能看到此資料表的內容。讀取器資料庫執行個體上會傳回空白結果。


| 欄位 | 資料類型 | 描述 | 
| --- | --- | --- | 
| ID | bigint | 寫入器資料庫執行個體上連線的識別碼。此識別符與 SHOW PROCESSLIST 陳述式中 Id 欄位顯示的值相同，並由執行緒中的 CONNECTION\$1ID() 函數傳回。 | 
| USER | varchar(32) | 發出陳述式的 MySQL 使用者。 | 
| HOST | varchar(255) | 發出陳述式的 MySQL 用戶端。對於轉寄的陳述式，此欄位會顯示在轉送讀取器資料庫執行個體上建立連線的應用程式用戶端主機位址。 | 
| DB | varchar(64) | 執行緒的預設資料庫。 | 
| 命令 | varchar(16) | 如果工作階段處於閒置狀態，執行緒代表用戶端執行的命令類型，或 Sleep。如需執行緒命令的說明，請參閱 MySQL 文件上的 MySQL 文件中的[執行緒命令值](https://dev.mysql.com/doc/refman/8.0/en/thread-commands.html)。 | 
| TIME | int | 執行緒處於目前狀態的時間 (以秒為單位)。 | 
| STATE | varchar(64) | 動作、事件或狀態，指出執行緒正在執行什麼動作。如需狀態值的描述，請參閱 MySQL 文件中的[一般執行續狀態](https://dev.mysql.com/doc/refman/8.0/en/general-thread-states.html)。 | 
| INFO | longtext | 如果沒有執行陳述式，則執行緒正在執行的陳述式，或 NULL。陳述式可能是傳送至伺服器的陳述式，或者如果陳述式執行其他陳述式，則是最內層的陳述式。 | 
| IS\$1FORWARDED | bigint | 指示執行緒是否從讀取器資料庫執行個體轉送。 | 
| REPLICA\$1SESSION\$1ID | bigint | Aurora 複本上的連線識別碼。此識別碼與轉送 Aurora 讀取器資料庫執行個體 SHOW PROCESSLIST 陳述式 Id 欄位顯示的值相同。 | 
| REPLICA\$1INSTANCE\$1IDENTIFIER | varchar(64) | 轉送執行緒的資料庫執行個體識別符。 | 
| REPLICA\$1CLUSTER\$1NAME | varchar(64) | 轉送執行緒的資料庫叢集識別符。對於叢集內的寫入轉送，此識別碼與寫入器資料庫執行個體的資料庫叢集相同。 | 
| REPLICA\$1REGION | varchar(64) | AWS 區域 轉送執行續的來源。對於叢集內的寫入轉送，此區域與寫入器資料庫執行個體的 AWS 區域 相同。 | 