本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設置和顯示二進制日誌配置
下列預存程序會設定並顯示組態參數,例如二進位日誌檔案保留。
mysql.rds_set_configuration
指定保留二進位日誌的小時數,或延遲複寫的秒數。
語法
CALL mysql.rds_set_configuration(
name
,value
);
參數
-
name
-
要設定之組態參數的名稱。
-
value
-
組態參數的值。
使用須知
mysql.rds_set_configuration
程序支援下列組態參數:
組態參數會永久存放,且在任何資料庫執行個體重新啟動或容錯移轉後依然存在。
binlog 保留 (小時)
binlog retention hours
參數用於指定保留二進位日誌檔的小時數。Amazon RDS 通常會盡快清除二進位記錄,但是使用外部的 My SQL 資料庫進行複寫時,可能仍需要二進位記錄。RDS
binlog retention hours
的預設值為 NULL
。對RDS於我SQL,NULL
意味著二進制日誌不保留(0 小時)。
若要指定在資料庫執行個體上保留二進位日誌的時數,請使用 mysql.rds_set_configuration
預存程序,並指定讓複寫有足夠時間進行的期間,如下列範例所示。
call mysql.rds_set_configuration('binlog retention hours', 24);
注意
不可針對 binlog retention hours
使用值 0
。
對於 [我的SQL資料庫執行個體],最大binlog retention hours
值為 168 (7 天)。
設定保留期間之後,請監控資料庫執行個體的儲存體用量,確定保留的二進位日誌沒有佔用太多儲存體。
對於異地同步備份資料庫叢集部署,您只能從寫入器資料庫執行個體設定二進位記錄保留,而且該設定會以非同步方式傳播到所有讀取器資料庫執行個體。如果資料庫叢集上的二進位日誌超過總本機儲存空間的一半,Amazon RDS 會自動將過時的日誌移至EBS磁碟區。不過,最新的記錄檔會保留在本機儲存體中,因此如果發生需要主機取代的故障,或是您擴充或縮減資料庫,則可能會遺失這些記錄檔。
來源延遲
在僅供讀取複本中使用 source delay
參數,來指定延遲幾秒後僅供讀取複本才會複寫至其來源資料庫執行個體。Amazon RDS 通常會盡快複寫變更,但您可能希望某些環境延遲複寫。例如,當延遲複寫時,您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄,您可以使用延遲的複寫快速將其復原。target delay
的預設值為 0
(不延遲複寫)。
當您使用此參數時,它會執行mysql.rds_set_source_delay並套用CHANGE主要至 MASTER _ DELAY = 輸入值。如果成功,程序會將 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 秒)。
注意
我的 8.0 SQL 版或 10.2 以下RDS的 MariaDB 版本不支援此source delay
參數。
目標延遲
使用此target delay
參數可指定資料庫執行個體與從此執行個體建立的任何 future RDS 受管僅供讀取複本之間的複寫延遲時間的秒數。非RDS管理僅供讀取複本會忽略此參數。Amazon RDS 通常會盡快複寫變更,但您可能希望某些環境延遲複寫。例如,當延遲複寫時,您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄,您可以使用延遲的複寫快速將其復原。target delay
的預設值為 0
(不延遲複寫)。
進行災難復原時,您可以使用此組態參數搭配 預存程序或 預存程序。若要將延遲的僅供讀取複本向前捲動到災難發生前的時間點,您可執行 mysql.rds_set_configuration
程序搭配此參數集。在 mysql.rds_start_replication_until
或 mysql.rds_start_replication_until_gtid
程序停止複寫後,您可使用提升僅供讀取複本為獨立的資料庫執行個體中的說明來提升該僅供讀取複本成為新的主要資料庫執行個體。
若要使用此mysql.rds_rds_start_replication_until_gtid
程序,必須啟用GTID基礎複製。若要略過已知會造成災難的特定GTID基礎交易,您可以使用預存程序。如需使用GTID基礎複製的詳細資訊,請參閱使用GTID基礎複製。
若要指定 Amazon 延遲複寫RDS到僅供讀取複本的秒數,請使用mysql.rds_set_configuration
預存程序並指定延遲複寫的秒數。下列範例指定了已延遲至少一小時 (3600 秒) 的複寫。
call mysql.rds_set_configuration('target delay', 3600);
target delay
參數的限制為一日 (86400 秒)。
注意
對於我的 8.0 SQL 版本或 10.2 之前RDS的 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.