

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

# 使用 MySQL 僅供讀取複本
<a name="USER_MySQL.Replication.ReadReplicas"></a>

接下來，您可以找到在 RDS for MySQL 上使用僅供讀取複本的特定資訊。如需僅供讀取複本的一般資訊及使用說明，請參閱 [使用資料庫執行個體僅供讀取複本](USER_ReadRepl.md)。

如需 MySQL 僅供讀取複本的詳細資訊，請參閱下列主題。
+ [使用 MySQL 設定複寫篩選條件](USER_MySQL.Replication.ReadReplicas.ReplicationFilters.md)
+ [透過 MySQL 設定延遲複寫](USER_MySQL.Replication.ReadReplicas.DelayReplication.md)
+ [使用 MySQL 更新僅供讀取複本](USER_MySQL.Replication.ReadReplicas.Updates.md)
+ [使用 MySQL 處理多可用區域僅供讀取複本的部署](USER_MySQL.Replication.ReadReplicas.MultiAZ.md)
+ [搭配 RDS for MySQL 使用階層式僅供讀取複本](USER_MySQL.Replication.ReadReplicas.Cascading.md)
+ [監控 MySQL 僅供讀取複本的複寫延遲](USER_MySQL.Replication.ReadReplicas.Monitor.md)
+ [透過 MySQL 僅供讀取複本啟動及停用複寫作業](USER_MySQL.Replication.ReadReplicas.StartStop.md)
+ [對 MySQL 僅供讀取複本問題進行故障診斷](USER_ReadRepl.Troubleshooting.md)

## 使用 MySQL 設定僅供讀取複本
<a name="USER_MySQL.Replication.ReadReplicas.Configuration"></a>

在 MySQL 資料庫執行個體可做為複製來源之前，請務必在來源資料庫執行個體上啟用自動備份。若要這麼做，請將備份保留期設定為 0 以外的值。若僅供讀取複本能讓其他僅供讀取複本做為來源資料庫執行個體，則亦適用此要求。執行 MySQL 任一版本的僅供讀取複本皆支援自動備份。您可以根據二進位日誌座標來設定複寫作業，以供 MySQL 資料庫執行個體使用。

您可以在下列版本上使用全域交易識別符 (GTID) 設定複寫：
+ RDS for MySQL 5.7.44 版和更高的 5.7 版
+ RDS for MySQL 8.0.28 版和更高的 8.0 版
+ RDS for MySQL 8.4.3 版和更高的 8.4 版

如需詳細資訊，請參閱[使用 GTID 式複寫](mysql-replication-gtid.md)。

您可以從相同區域內的一個資料庫執行個體建立至多 15 個僅供讀取複本。若希望複寫作業順利運作，每個僅供讀取複本具備的運算和儲存資源數量應與來源資料庫執行個體相同。若您擴展來源資料庫執行個體，也要擴展僅供讀取複本。

RDS for MySQL 支援階層式僅供讀取複本。若要了解如何設定階層式僅供讀取複本，請參閱 [搭配 RDS for MySQL 使用階層式僅供讀取複本](USER_MySQL.Replication.ReadReplicas.Cascading.md)。

您可以同時執行多個僅供讀取複本建立，並刪除參考相同來源資料庫執行個體的動作。執行這些動作時，請將每個來源執行個體的僅供讀取複本數目限制在 15 個之內。

MySQL 資料庫執行個體的僅供讀取複本不能使用低於其來源資料庫執行個體的資料庫引擎版本。

### 準備使用 MyISAM 的 MySQL 資料庫執行個體
<a name="USER_MySQL.Replication.ReadReplicas.Configuration-MyISAM-Instances"></a>

如果 MySQL 資料庫執行個體採用 MyISAM 等非交易儲存引擎，便需要執行下列步驟，藉以成功設定僅供讀取複本。請務必遵循以下步驟，才能確保僅供讀取複本的資料複本一致。然而，如果所有資料表均採用 InnoDB 等交易儲存引擎，就不需要進行這些步驟。

1. 在來源資料庫執行個體的非交易資料表上，停止所有資料處理語言 (DML) 和資料定義語言 (DDL) 操作，接著等候停止作業完成。SELECT 陳述式可以繼續執行。

1. 清空並鎖定來源資料庫執行個體中的資料表。

1. 使用以下各節的其中一種方法來建立僅供讀取複本。

1. 透過 `DescribeDBInstances` API 操作等方式，檢查僅供讀取複本的建立進度。僅供讀取複本可供使用時，請解除鎖定來源資料庫執行個體的資料表，並恢復資料庫正常操作。