

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

# 為多可用區域資料庫叢集設定 MySQL 二進位記錄
<a name="USER_Binlog.MultiAZ"></a>

Amazon RDS for MySQL 多可用區域資料庫叢集中的二進位記錄會記錄所有資料庫變更，以支援複寫、時間點復原和稽核。在多可用區域資料庫叢集中，二進位日誌會同步次要節點與主節點，確保可用區域之間的資料一致性，並啟用無縫容錯移轉。

為了最佳化二進位記錄，Amazon RDS 支援二進位日誌交易壓縮，可減少二進位日誌的儲存要求並改善複寫效率。

**Topics**
+ [多可用區域資料庫叢集的二進位日誌交易壓縮](#USER_Binlog.MultiAZ.compression)
+ [設定多可用區域資料庫叢集的二進位日誌交易壓縮](#USER_Binlog.MultiAZ.configuring)

## 多可用區域資料庫叢集的二進位日誌交易壓縮
<a name="USER_Binlog.MultiAZ.compression"></a>

二進位日誌交易壓縮使用 zstd 演算法來減少二進位日誌中存放的交易資料大小。啟用時，MySQL 資料庫引擎會將交易承載壓縮為單一事件，將 I/O 和儲存額外負荷降至最低。此功能可改善資料庫效能、減少二進位日誌大小，並最佳化在多可用區域資料庫叢集中管理和複寫日誌的資源使用。

Amazon RDS 透過下列參數為 RDS for MySQL 多可用區域資料庫叢集提供二進位日誌交易壓縮：
+ `binlog_transaction_compression` – 啟用時 (`1`)，資料庫引擎會壓縮交易承載，並將其做為單一事件寫入二進位日誌。這可減少儲存用量和 I/O 額外負荷。參數預設為停用。
+ `binlog_transaction_compression_level_zstd` – 設定二進位日誌交易的 zstd 壓縮層級。較高的值會增加壓縮比率，進一步減少儲存要求，但增加壓縮的 CPU 和記憶體用量。預設值為 3，範圍為 1-22。

這些參數可讓您根據工作負載特性和資源可用性微調二進位日誌壓縮。如需詳細資訊，請參閱 MySQL 文件中的[二進位日誌交易壓縮](https://dev.mysql.com/doc/refman/8.4/en/binary-log-transaction-compression.html)。

二進位日誌交易壓縮具有下列主要優點：
+ 壓縮會減少二進位日誌的大小，特別是對於具有大型交易或大量寫入的工作負載。
+ 較小的二進位日誌可減少網路和 I/O 額外負荷，增強複寫效能。
+ `binlog_transaction_compression_level_zstd` 參數提供壓縮比率與資源耗用量之間的權衡控制。

## 設定多可用區域資料庫叢集的二進位日誌交易壓縮
<a name="USER_Binlog.MultiAZ.configuring"></a>

若要設定 RDS for MySQL 多可用區域資料庫叢集的二進位日誌交易壓縮，請修改相關的叢集參數設定，以符合您的工作負載要求。

### 主控台
<a name="USER_Binlog.MultiAZ.configuring-console"></a>

**啟用二進位日誌交易壓縮**

1. 修改資料庫叢集參數群組，將 `binlog_transaction_compression` 參數設定為 `1`。

1. (選用) 根據您的工作負載要求和資源可用性調整 `binlog_transaction_compression_level_zstd` 參數的值。

如需詳細資訊，請參閱[在 中修改資料庫叢集參數群組中的參數](USER_WorkingWithParamGroups.ModifyingCluster.md)。

### AWS CLI
<a name="USER_Binlog.MultiAZ.configuring-cli"></a>

若要使用 設定二進位日誌交易壓縮 AWS CLI，請使用 [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html) 命令。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds modify-db-cluster-parameter-group \
  --db-cluster-parameter-group-name your-cluster-parameter-group \
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```
在 Windows 中：  

```
aws rds modify-db-cluster-parameter-group ^
  --db-cluster-parameter-group-name your-cluster-parameter-group ^
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```

### RDS API
<a name="USER_Binlog.MultiAZ.configuring-api"></a>

若要使用 Amazon RDS API 設定二進位日誌交易壓縮，請使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html) 操作。