本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用我的設定延遲複製 SQL
您可以將延遲複寫做為災難復原的策略。利用延遲複寫功能來指定最短時間 (以秒為單位),即可延遲來源到僅供讀取複本的複寫作業。在發生損毀之時 (例如不小心刪除資料表),若要快速完成事後復原作業,則請執行下列步驟:
-
停止僅供讀取複本的複寫作業,以免系統將造成損毀的變更內容傳送到該複本。
使用 mysql.rds_stop_replication 預存程序來停止複寫作業。
-
啟動複寫作業並指定日誌檔案位置,則當系統複寫到該位置時,即會自動停止作業。
-
若要將僅供讀取複本提升為新的來源資料庫執行個體,請參照提升僅供讀取複本為獨立的資料庫執行個體中的指示。
注意
-
在「我RDS的 SQL 8.0」上,「我的 SQL 8.0.28」及更高版本支援延遲複寫。在「我RDS的 SQL 5.7」上,「我的 SQL 5.7.44」及更高版本支援延遲複寫。
-
使用預存程序來設定延遲複寫。您無法設定延遲複寫 AWS Management Console,該 AWS CLI,或 Amazon RDS API。
-
RDS對於 My SQL 5.7.44 及更高版本的 SQL 5.7 版本,以及 My SQL 8.0.28 及更高版本 8.0 版本,您可以在延遲複寫組態中使用以全域交易識別碼 (GTIDs) RDS 為基礎的複寫。如果您使用GTID以架構為基礎的複寫,請使用預存程序而非預存程序。如需有關GTID基於複製的詳細資訊,請參閱使用GTID基礎複製。
在僅供讀取複本建立期間設定延遲複寫
若要為任何未來從資料庫執行個體建立的僅供讀取複本設定延遲複寫,請利用 mysql.rds_set_configuration 參數來執行 target delay
預存程序。
在僅供讀取複本建立期間設定延遲複寫
-
使用 My SQL Client,以主要使用者身分連線至 My SQL DB 執行個體,做為僅供讀取複本的來源。
-
利用 mysql.rds_set_configuration 參數來執行
target delay
預存程序。例如,您可以執行下列預存程序,藉此設定複寫至少會延遲一小時 (3600 秒),並將該設定套用至目前資料庫執行個體所建立的任何僅供讀取複本。
call mysql.rds_set_configuration('target delay', 3600);
注意
執行此預存程序之後,您使用 AWS CLI 或 Amazon RDS API 設定複寫延遲指定的秒數。
修改現有僅供讀取複本的延遲複寫
若要修改現有僅供讀取複本的延遲複寫,請執行 mysql.rds_set_source_delay 預存程序。
修改現有僅供讀取複本的延遲複寫
-
使用 [我的用SQL戶端],以主要使用者身分連線到僅供讀取複本。
-
使用 mysql.rds_stop_replication 預存程序來停止複寫作業。
-
執行 mysql.rds_set_source_delay 預存程序。
例如,您可以執行下列預存程序,藉此設定複寫至少會延遲一小時 (3600 秒),並將該設定套用至僅供讀取複本。
call mysql.rds_set_source_delay(3600);
-
使用 mysql.rds_start_replication 預存程序來啟動複寫作業。
設定位置以停止僅供讀取複本的複寫作業
停止僅供讀取複本的複寫作業後,您可以使用 預存程序來啟動複寫,然後在特定的二進位日誌檔案位置停止複寫。
啟動僅供讀取複本的複寫作業,並在特定位置停止複寫
達到停止點時,複寫作業即會自動停止。會產生下列RDS事件:Replication has been stopped since the replica reached the stop point specified by the
rds_start_replication_until stored procedure
。
提升僅供讀取複本
使用災難復原功能時,您可以參照中的指示,在複寫作業停止後將僅供讀取複本提升為新的來源資料庫執行個體。如需提升僅供讀取複本的相關資訊,請參閱 提升僅供讀取複本為獨立的資料庫執行個體。