本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定
下列預存程序會設定並顯示組態參數,例如二進位日誌檔案保留。
mysql.rds_set_configuration
指定保留二進位日誌的小時數,或延遲複寫的秒數。
語法
CALL mysql.rds_set_configuration(
name
,value
);
參數
-
name
-
要設定之組態參數的名稱。
-
值
-
組態參數的值。
使用須知
mysql.rds_set_configuration
程序支援下列組態參數:
組態參數會永久存放,且在任何資料庫執行個體重新啟動或容錯移轉後依然存在。
binlog 保留 (小時)
binlog retention hours
參數用於指定保留二進位日誌檔的小時數。Amazon RDS 通常會儘快清除二進位日誌,但複寫 RDS 外部的 MySQL 資料庫時可能仍需要二進位日誌。
binlog retention hours
的預設值為 NULL
。對於 RDS for MySQL,NULL
意味著不會保留二進位日誌 (0 小時)。
若要指定在資料庫執行個體上保留二進位日誌的時數,請使用 mysql.rds_set_configuration
預存程序,並指定讓複寫有足夠時間進行的期間,如下列範例所示。
call mysql.rds_set_configuration('binlog retention hours', 24);
注意
不可針對 binlog retention hours
使用值 0
。
若為 MySQL 資料庫執行個體,binlog retention hours
最大值為 168 (7 天)。
設定保留期間之後,請監控資料庫執行個體的儲存體用量,確定保留的二進位日誌沒有佔用太多儲存體。
來源延遲
在僅供讀取複本中使用 source delay
參數,來指定延遲幾秒後僅供讀取複本才會複寫至其來源資料庫執行個體。Amazon RDS 通常會盡快複寫變更,但您可能想要某些環境延遲複寫。例如,當延遲複寫時,您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄,您可以使用延遲的複寫快速將其復原。target delay
的預設值為 0
(不延遲複寫)。
當您使用此參數時,它會執行 mysql.rds_set_source_delay 並套用 CHANGE primary TO MASTER_DELAY = input value。如果成功,程序會將 source delay
參數儲存到 mysql.rds_configuration
資料表。
若要指定 Amazon RDS 延遲複寫至來源資料庫執行個體的秒數,請使用 mysql.rds_set_configuration
預存程序,並指定延遲複寫的秒數。在下列範例中,複寫會延遲至少一小時 (3,600 秒)。
call mysql.rds_set_configuration('source delay', 3600);
此程序接著執行 mysql.rds_set_source_delay(3600)
。
source delay
參數的限制為一日 (86400 秒)。
注意
RDS for MySQL 8.0 版或低於 10.2 的 MariaDB 版本不支援 source delay
參數。
目標延遲
使用 target delay
參數,指定要延遲幾秒後才會在資料庫執行個體與從這個執行個體建立的任何未來 RDS 受管僅供讀取複本之間進行複寫。非 RSS 受管僅供讀取複本會忽略此參數。Amazon RDS 通常會盡快複寫變更,但您可能想要某些環境延遲複寫。例如,當延遲複寫時,您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄,您可以使用延遲的複寫快速將其復原。target delay
的預設值為 0
(不延遲複寫)。
進行災難復原時,您可以使用此組態參數搭配 mysql.rds_start_replication_until 預存程序或 mysql.rds_start_replication_until_gtid 預存程序。若要將延遲的僅供讀取複本向前捲動到災難發生前的時間點,您可執行 mysql.rds_set_configuration
程序搭配此參數集。在 mysql.rds_start_replication_until
或 mysql.rds_start_replication_until_gtid
程序停止複寫後,您可使用提升僅供讀取複本為獨立的資料庫執行個體中的說明來提升該僅供讀取複本成為新的主要資料庫執行個體。
若要使用 mysql.rds_rds_start_replication_until_gtid
程序,需啟用依據 GTID 的複寫。若要略過已知會導致災難的特定 GTID 型交易,可以使用 mysql.rds_skip_transaction_with_gtid 預存程序。如需有關依據 GTID 複寫的詳細資訊,請參閱使用 GTID 式複寫。
若要指定 Amazon RDS 秒數以延遲至僅供讀取複本的複寫,請使用 mysql.rds_set_configuration
預存程序,並指定延遲複寫秒數。下列範例指定了已延遲至少一小時 (3600 秒) 的複寫。
call mysql.rds_set_configuration('target delay', 3600);
target delay
參數的限制為一日 (86400 秒)。
注意
RDS for MySQL 8.0 版或低於 10.2 的 MariaDB 版本不支援 target delay
參數。
mysql.rds_show_configuration
保留二進位日誌的時數。
語法
CALL mysql.rds_show_configuration;
使用須知
若要驗證 Amazon RDS 保留二進位日誌的時數,請使用 mysql.rds_show_configuration
預存程序。
範例
下列範例顯示保留期間:
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.