本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用複製交易 GTIDs
下列預存程序會控制如何使用全域交易識別碼 (GTIDs) 與 RDS My 來複寫交易SQL。如需有關以 [我的] 為基礎的複寫GTIDs的RDS詳細資訊SQL,請參閱〈〉使用GTID基礎複製。
在 My SQL DB 執行個體上略過具有指定全域交易識別碼 (GTID) 的交易複寫。
當已知特定GTID交易會造成問題時,您可以使用此程序進行嚴重損壞修復。使用此預存程序來略過有問題的交易。有問題的交易範例包括停用複寫、刪除重要資料或導致資料庫執行個體無法使用的交易。
語法
CALL mysql.rds_skip_transaction_with_gtid (
gtid_to_skip
);
參數
-
gtid_to_skip
-
要略過GTID的複寫交易。
使用須知
主要使用者必須執行 mysql.rds_skip_transaction_with_gtid
程序。
我的 SQL 5.7 版本以及我RDS的 SQL 8.0.26 及RDS更高版本 8.0 版本都支援此程序。
範例
下列範例會略過與交易的複寫。GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
CALL mysql.rds_skip_transaction_with_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');
從 My SQL DB 執行個RDS體 Aurora My SQL DB 啟動複寫,並在指定的全域交易識別碼 (GTID) 之後立即停止複寫。
語法
CALL mysql.rds_start_replication_until_gtid(
gtid
);
參數
-
gtid
-
之GTID後要停止複寫。
使用須知
主要使用者必須執行 mysql.rds_start_replication_until_gtid
程序。
我的 SQL 5.7 版本以及我RDS的 SQL 8.0.26 及RDS更高版本 8.0 版本都支援此程序。
您可以透過延遲複寫來使用此程序進行災難復原。若您已延遲複寫設定,您可使用此程序變更延遲的僅供讀取複本,並向前捲動到災難發生前的時間點。在此程序停止複寫後,您可使用 提升僅供讀取複本為獨立的資料庫執行個體 中的說明來提升該僅供讀取複本成為新的主要資料庫執行個體。
您可使用以下預存程序來設定延遲複寫:
當 gtid
參數指定了複本已經執行的交易時,複寫會立即停止。
範例
下列範例會啟動複寫並複寫變更,直到變更到達為止。GTID 3E11FA47-71CA-11E1-9E33-C80AA9429562:23
call mysql.rds_start_replication_until_gtid('3E11FA47-71CA-11E1-9E33-C80AA9429562:23');