本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 GTID 在 Amazon EC2 上設定 Amazon RDS for MySQL 和 MySQL 之間的資料複寫
由 Rajesh Madiwale (AWS) 建立
Summary
此模式說明如何使用 MySQL 原生全域交易識別符 (GTID) 複寫,在 Amazon Relational Database Service (Amazon RDS) for MySQL 資料庫執行個體與 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的 MySQL 資料庫之間,在 Amazon Web Services (AWS) 雲端上設定資料複寫。
使用 GTIDs時,交易會在提交至原始伺服器並由複本套用時加以識別和追蹤。在容錯移轉期間啟動新的複本時,您不需要參考日誌檔案。
先決條件和限制
先決條件
作用中的 AWS 帳戶
部署的 Amazon Linux 執行個體
限制
此設定需要內部團隊來執行唯讀查詢。
來源和目標 MySQL 版本必須相同。
複寫是在相同的 AWS 區域和虛擬私有雲端 (VPC) 中設定。
產品版本
Amazon RDS 5.7.23 版和更新版本,這些版本支援 GTID
架構
來源技術堆疊
Amazon RDS for MySQL
目標技術堆疊
Amazon EC2 上的 MySQL
目標架構

工具
AWS 服務
Amazon Elastic Compute Cloud (Amazon EC2) 在 AWS Cloud 中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。
適用於 MySQL 的 Amazon Relational Database Service (Amazon RDS) MySQL 可協助您在 AWS Cloud 中設定、操作和擴展 MySQL 關聯式資料庫。
其他服務
「全域交易識別符 (GTID)」https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html
是系統為遞交的 MySQL 交易所產生的唯一識別符。 mysqldump
是一種用戶端公用程式,可透過產生可執行的 SQL 陳述式來執行邏輯備份,以重現來源資料庫物件定義和資料表資料。 mysql
是 MySQL 的命令列用戶端。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
建立 RDS for MySQL 執行個體。 | 若要建立 RDS for MySQL 執行個體,請遵循 Amazon RDS 文件中的步驟,使用下一個任務中涵蓋的參數值。 | DBA,DevOps 工程師 |
在資料庫參數群組中啟用 GTID 相關設定。 | 在 Amazon RDS for MySQL 資料庫參數群組中啟用下列參數。
| DBA |
重新啟動 Amazon RDS for MySQL 執行個體。 | 必須重新啟動,參數變更才會生效。 | DBA |
建立使用者並授予其複寫許可。 | 若要安裝 MySQL,請使用下列命令。
| DBA |
任務 | 描述 | 所需的技能 |
---|---|---|
在 Amazon Linux 上安裝 MySQL。 | 若要安裝 MySQL,請使用下列命令。
| DBA |
在 EC2 執行個體上登入 MySQL 並建立資料庫。 | 資料庫名稱應與 Amazon RDS for MySQL 中的資料庫名稱相同。在下列範例中,資料庫名稱為
| DBA |
編輯 MySQL 組態檔案,然後重新啟動資料庫。 | 新增下列參數
然後重新啟動
| DBA |
任務 | 描述 | 所需的技能 |
---|---|---|
從 Amazon RDS for MySQL 資料庫匯出資料傾印。 | 若要從 Amazon RDS for MySQL 匯出傾印,請使用下列命令。
| DBA |
在 Amazon EC2 的 MySQL 資料庫中還原 .sql 傾印檔案。 | 若要將傾印匯入 Amazon EC2 上的 MySQL 資料庫,請使用下列命令。
| DBA |
將 Amazon EC2 上的 MySQL 資料庫設定為複本。 | 若要開始複寫並檢查複寫狀態,請登入 Amazon EC2 上的 MySQL 資料庫,然後使用下列命令。
| DBA |