

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

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

下列預存程序控制如何使用全域交易識別符 (GTID) 搭配 RDS for MySQL 複寫交易。如需有關使用 RDS for MySQL GTID 式複寫的詳細資訊，請參閱[使用 GTID 式複寫](mysql-replication-gtid.md)。

使用預存程序管理使用 `caching_sha2_password` 所設定之複寫使用者的複寫時，您必須指定 `SOURCE_SSL=1` 來設定 TLS。`caching_sha2_password` 是 RDS for MySQL 8.4 的預設身分驗證外掛程式。

**Topics**
+ [mysql.rds\_skip\_transaction\_with\_gtid](#mysql_rds_skip_transaction_with_gtid)
+ [mysql.rds\_start\_replication\_until\_gtid](#mysql_rds_start_replication_until_gtid)

## mysql.rds\_skip\_transaction\_with\_gtid
<a name="mysql_rds_skip_transaction_with_gtid"></a>

略過 MySQL 資料庫執行個體上具有指定全域交易識別碼 (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\_to\_skip}}   
要略過的複寫交易的 GTID。

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

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

所有 RDS for MySQL 5.7 版，以及所有 RDS for MySQL 8.0 版和所有 RDS for MySQL 8.4 版都支援此程序。

### 範例
<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\_start\_replication\_until\_gtid
<a name="mysql_rds_start_replication_until_gtid"></a>

從 RDS for 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` 程序。

所有 RDS for MySQL 5.7 版，以及所有 RDS for MySQL 8.0 版和所有 RDS for MySQL 8.4 版都支援此程序。

您可以透過延遲複寫來使用此程序進行災難復原。若您已延遲複寫設定，您可使用此程序變更延遲的僅供讀取複本，並向前捲動到災難發生前的時間點。在此程序停止複寫後，您可使用 [提升僅供讀取複本為獨立的資料庫執行個體](USER_ReadRepl.Promote.md) 中的說明來提升該僅供讀取複本成為新的主要資料庫執行個體。

您可使用以下預存程序來設定延遲複寫：
+ [mysql.rds\_set\_configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration)
+ [mysql.rds\_set\_external\_master\_with\_delay (RDS for MariaDB 和 RDS for MySQL 主要版本 8.0 及更低版本)](mysql-stored-proc-replicating.md#mysql_rds_set_external_master_with_delay)
+ [mysql.rds\_set\_external\_source\_with\_delay (RDS for MySQL 主要版本 8.4 及更新版本)](mysql-stored-proc-replicating.md#mysql_rds_set_external_source_with_delay)
+ [mysql.rds\_set\_source\_delay](mysql-stored-proc-replicating.md#mysql_rds_set_source_delay)

當 `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');
```