本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 GTID 在亞馬遜 EC2 上設置 Amazon RDS for MySQL 和 MySQL 之間的數據複寫
創建者:拉傑什·馬迪瓦利 (AWS)
環境:PoC 或試點 | 技術:資料庫 | 工作負載:開源 |
Summary
此模式說明如何透過使 Amazon Web Services MySQL 原生全域交易識別碼 (GTID) 複寫,在適用於 MySQL 資料庫執行個體的 Amazon Relational Database Service 服務 (AWS RDS) 與 Amazon 彈性運算雲端 (Amazon EC2) 執行個體上的 MySQL 資料庫之間設定資料複寫。
使用 GTID 時,在原始伺服器上認可並由複本套用交易時,就會識別和追蹤這些交易。在容錯移轉期間啟動新複本時,不需要參考記錄檔。
先決條件和限制
先決條件
有效的 AWS 帳戶
已部署 Amazon Linux 執行個體
限制
此設定需要內部小組執行唯讀查詢。
來源和目標 MySQL 版本必須相同。
在相同的 AWS 區域和虛擬私有雲 (VPC) 中設定複寫。
產品版本
架構
源, 技術, 堆棧
Amazon RDS for MySQL
目標技術堆疊
Amazon EC2
目標架構
![在同一個私有子網路中,將 RDS 版 MySQL 資料庫的 GTID 複寫到 Amazon EC2 上的 MySQL。](images/pattern-img/73fb31e9-ba92-44c0-af9d-c11a5442d13f/images/167ecd2c-c06f-432e-8f5f-2cb07e147891.png)
工具
AWS 服務
亞馬遜彈性運算雲 (Amazon EC2) 在 AWS 雲端提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。
適用於 MySQL 的 Amazon Relational Database Service 服務 (Amazon RDS) 可協助您在 AWS 雲端中設定、操作和擴展 MySQL 關聯式資料庫。
其他服務
「全域交易識別符 (GTID)」https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html
是系統為遞交的 MySQL 交易所產生的唯一識別符。 mysqldump
是用來執行邏輯備份的用戶端公用程式,產生 SQL 陳述式可執行來重現來源資料庫物件定義和資料表資料。 MySQL 是 MySQL
的命令行客戶端。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
建立適用於 MySQL 的 RDS 執行個體。 | 若要建立適用於 MySQL 的 RDS 執行個體,請使用下一個任務中涵蓋的參數值,遵循 Amazon RDS 文件中的步驟。 | DBA,工程師 DevOps |
啟用 DB 參數群組中的 GTID 相關設定。 | 在 Amazon RDS for MySQL 用於 MySQL 資料庫參數群組中啟用下列參數。 設定
| DBA |
重新啟動 Amazon RDS for MySQL 適用於 MySQL 執行個體。 | 需要重新開機,參數變更才會生效。 | DBA |
建立使用者並授與其複寫權限。 | 要安裝 MySQL,請使用以下命令。
| DBA |
任務 | 描述 | 所需技能 |
---|---|---|
在 Amazon Linux 上安裝 MySQL。 | 要安裝 MySQL,請使用以下命令。
| DBA |
在 EC2 執行個體上登入 MySQL 並建立資料庫。 | 資料庫名稱應與 Amazon RDS for MySQL (MySQL 版) 中的資料庫名稱相同。在下列範例中,資料庫名稱為
| DBA |
編輯 MySQL 配置文件,然後重新啟動數據庫。 |
然後重新啟動
| DBA |
任務 | 描述 | 所需技能 |
---|---|---|
從 Amazon RDS for MySQL 適用於 MySQL 資料庫匯出資料傾印。 | 若要從 Amazon RDS for MySQL 版 MySQL 匯出傾印,請使用下列命令。
| DBA |
在 Amazon EC2 上的 MySQL 數據庫中恢復 .sql 轉儲文件。 | 要將轉儲導入 Amazon EC2 上的 MySQL 數據庫,請使用以下命令。
| DBA |
將 Amazon EC2 上的 MySQL 資料庫設定為複本。 | 若要開始複寫並檢查複寫狀態,請登入 Amazon EC2 上的 MySQL 資料庫,然後使用下列命令。
| DBA |