使用 GTIDs 複寫交易 - Amazon Relational Database Service

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

使用 GTIDs 複寫交易

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

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

mysql.rds_skip_transaction_with_gtid

略過 MySQL 資料庫執行個體上具有指定全域交易識別碼 (GTID) 之交易的複寫。

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

語法

CALL mysql.rds_skip_transaction_with_gtid ( gtid_to_skip );

參數

gtid_to_skip

要略過的複寫交易的 GTID。

使用須知

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

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

範例

下列範例會略過使用 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

RDS for MySQL 資料庫執行個體 啟動複寫,並在指定的全域交易識別碼 (GTID) 之後立即停止複寫。

語法

CALL mysql.rds_start_replication_until_gtid(gtid);

參數

gtid

在此 GTID 後停止複寫。

使用須知

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

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

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

您可使用以下預存程序來設定延遲複寫:

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

範例

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

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