

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

# 設定和顯示二進位日誌組態
<a name="mysql-stored-proc-configuring"></a>

下列預存程序會設定並顯示組態參數，例如二進位日誌檔案保留。

**Topics**
+ [mysql.rds\_set\_configuration](#mysql_rds_set_configuration)
+ [mysql.rds\_show\_configuration](#mysql_rds_show_configuration)

## mysql.rds\_set\_configuration
<a name="mysql_rds_set_configuration"></a>

指定保留二進位日誌的小時數，或延遲複寫的秒數。

### 語法
<a name="mysql_rds_set_configuration-syntax"></a>

 

```
CALL mysql.rds_set_configuration({{name}},{{value}});
```

### Parameters
<a name="mysql_rds_set_configuration-parameters"></a>

 {{name}}   
要設定之組態參數的名稱。

 {{value}}   
組態參數的值。

### 使用須知
<a name="mysql_rds_set_configuration-usage-notes"></a>

`mysql.rds_set_configuration` 程序支援下列組態參數：
+ [binlog 保留 (小時)](#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)
+ [來源延遲](#mysql_rds_set_configuration-usage-notes.source-delay)
+ [目標延遲](#mysql_rds_set_configuration-usage-notes.target-delay)

組態參數會永久存放，且在任何資料庫執行個體重新啟動或容錯移轉後依然存在。

#### binlog 保留 (小時)
<a name="mysql_rds_set_configuration-usage-notes.binlog-retention-hours"></a>

`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 天)。

設定保留期間之後，請監控資料庫執行個體的儲存體用量，確定保留的二進位日誌沒有佔用太多儲存體。

對於多可用區域資料庫叢集部署，您只能從寫入器資料庫執行個體設定二進位日誌保留，且該設定會以非同步方式傳播至所有讀取器資料庫執行個體。如果資料庫叢集上的二進位日誌超過本機儲存空間總和的一半，Amazon RDS 會自動將過時日誌移至 EBS 磁碟區。不過，最新的日誌會保留在本機儲存體中，因此如果發生需要主機替換的故障，或者您向上或向下擴展資料庫，它們可能會遺失。

#### 來源延遲
<a name="mysql_rds_set_configuration-usage-notes.source-delay"></a>

在僅供讀取複本中使用 `source delay` 參數，來指定延遲幾秒後僅供讀取複本才會複寫至其來源資料庫執行個體。Amazon RDS 通常會盡快複寫變更，但您可能想要某些環境延遲複寫。例如，當延遲複寫時，您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄，您可以使用延遲的複寫快速將其復原。`target delay` 的預設值為 `0` (不延遲複寫)。

當您使用此參數時，它會執行 [mysql.rds\_set\_source\_delay](mysql-stored-proc-replicating.md#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 秒)。

#### 目標延遲
<a name="mysql_rds_set_configuration-usage-notes.target-delay"></a>

使用 `target delay` 參數，指定要延遲幾秒後才會在資料庫執行個體與從這個執行個體建立的任何未來 RDS 受管僅供讀取複本之間進行複寫。非 RSS 受管僅供讀取複本會忽略此參數。Amazon RDS 通常會盡快複寫變更，但您可能想要某些環境延遲複寫。例如，當延遲複寫時，您可以將延遲的僅供讀取複本向前捲動到災難發生的時間點之前。若資料表被意外的捨棄，您可以使用延遲的複寫快速將其復原。`target delay` 的預設值為 `0` (不延遲複寫)。

進行災難復原時，您可以使用此組態參數搭配 [mysql.rds\_start\_replication\_until](mysql-stored-proc-replicating.md#mysql_rds_start_replication_until) 預存程序或 [mysql.rds\_start\_replication\_until\_gtid](mysql-stored-proc-gtid.md#mysql_rds_start_replication_until_gtid) 預存程序。若要將延遲的僅供讀取複本向前捲動到災難發生前的時間點，您可執行 `mysql.rds_set_configuration` 程序搭配此參數集。在 `mysql.rds_start_replication_until` 或 `mysql.rds_start_replication_until_gtid` 程序停止複寫後，您可使用[提升僅供讀取複本為獨立的資料庫執行個體](USER_ReadRepl.Promote.md)中的說明來提升該僅供讀取複本成為新的主要資料庫執行個體。

若要使用 `mysql.rds_rds_start_replication_until_gtid` 程序，需啟用依據 GTID 的複寫。若要略過已知會導致災難的特定 GTID 型交易，可以使用 [mysql.rds\_skip\_transaction\_with\_gtid](mysql-stored-proc-gtid.md#mysql_rds_skip_transaction_with_gtid) 預存程序。如需有關依據 GTID 複寫的詳細資訊，請參閱[使用 GTID 式複寫](mysql-replication-gtid.md)。

若要指定 Amazon RDS 秒數以延遲至僅供讀取複本的複寫，請使用 `mysql.rds_set_configuration` 預存程序，並指定延遲複寫秒數。下列範例指定了已延遲至少一小時 (3600 秒) 的複寫。

`call mysql.rds_set_configuration('target delay', 3600);`

`target delay` 參數的限制為一日 (86400 秒)。

## mysql.rds\_show\_configuration
<a name="mysql_rds_show_configuration"></a>

保留二進位日誌的時數。

### 語法
<a name="mysql_rds_show_configuration-syntax"></a>

 

```
CALL mysql.rds_show_configuration;
```

### 使用須知
<a name="mysql_rds_show_configuration-usage-notes"></a>

若要驗證 Amazon RDS 保留二進位日誌的時數，請使用 `mysql.rds_show_configuration` 預存程序。

### 範例
<a name="mysql_rds_show_configuration-examples"></a>

下列範例顯示保留期間：

```
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.
```