介紹雲原生分散式資料庫PolarDB-X(簡稱PolarDB-X)是阿里巴巴致力於解決單機資料庫服務瓶頸而自主研發的分散式資料庫產品,高度相容MySQL協議和文法,支援自動化水平分割、線上平滑擴縮容、彈性擴充、透明讀寫分離,具備資料庫全生命週期營運管控能力。通過Data Transmission Service,您可以將RDS MySQL同步至PolarDB-X。
前提條件
源庫中待同步的資料表必須具備主鍵。
確保目標庫具備充足的儲存空間。
已建立Distributed Relational Database Service服務PolarDB-X,如未建立請參見建立PolarDB-X 1.0執行個體和建立資料庫。
建立執行個體時需選擇儲存類型為RDS MySQL。
注意事項
DTS在執行全量資料初始化時將佔用源庫和目標庫一定的讀寫資源,可能會導致資料庫的負載上升,在資料庫效能較差、規格較低或業務量較大的情況下(例如源庫有大量慢SQL、存在無主鍵表或目標庫存在死結等),可能會加重資料庫壓力,甚至導致資料庫服務不可用。因此您需要在執行資料同步前評估源庫和目標庫的效能,同時建議您在業務低峰期執行資料同步(例如源庫和目標庫的CPU負載在30%以下)。
全量初始化過程中,並發INSERT會導致目的地組群的表片段,全量初始化完成後,目的地組群的資料表空間比源庫的資料表空間大。確保目標庫具備充足的儲存空間。
MySQL同步至PolarDB-X暫不支援結構初始化,在配置同步作業前,您需要在目標執行個體中建立對應的庫和表。
費用說明
同步類型 | 鏈路配置費用 |
同步類型 | 鏈路配置費用 |
全量資料同步 | 不收費。 |
增量資料同步 | 收費,詳情請參見計費概述。 |
同步限制
- 同步對象僅支援資料表。
- 不支援BIT、VARBIT、GEOMETRY、ARRAY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT類型的資料同步。
暫不支援同步首碼索引,如果源庫存在首碼索引可能導致資料同步失敗。
- 在資料同步時,請勿對源庫的同步對象使用gh-ost或pt-online-schema-change等類似工具執行線上DDL變更,否則會導致同步失敗。
支援同步的SQL操作
INSERT、UPDATE、DELETE。
資料庫帳號的許可權要求
資料庫 | 要求的權限 |
資料庫 | 要求的權限 |
RDS MySQL | REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和所有同步對象的SELECT許可權。 |
PolarDB-X | 無需填寫資料庫帳號資訊,DTS會自動建立帳號並授權。 |
支援的同步架構
1對1單向同步。
多對1單向同步。
準備工作
由於RDS MySQL同步至PolarDB-X暫不支援結構初始化,所以您需要根據源RDS MySQL執行個體中待同步對象的資料結構,在目標執行個體中建立相應的資料庫和資料表,詳情請參見建立資料庫和建立資料表。
結構初始化:將源庫中待同步對象的結構定義資訊,同步至目標庫中。
操作步驟
購買資料同步作業,詳情請參見購買流程。
購買時,選擇源執行個體為MySQL、目標執行個體為PolarDB-X(原DRDS升級版),並選擇同步拓撲為單向同步。
登入資料轉送控制台。
若資料轉送控制台自動跳轉至Data Management控制台,您可以在右下角的
中單擊
,返回至舊版資料轉送控制台。
在左側導覽列,單擊資料同步。
在同步作業列表頁面頂部,選擇同步的目標執行個體所屬地區。
定位至已購買的資料同步執行個體,單擊配置同步鏈路。
配置同步作業的源執行個體及目標執行個體資訊。
類別
配置
說明
類別
配置
說明
無
同步作業名稱
DTS會自動產生一個同步作業名稱,建議配置具有業務意義的名稱(無唯一性要求),便於後續識別。
源執行個體資訊
執行個體類型
選擇RDS執行個體。
執行個體地區
購買資料同步執行個體時選擇的源執行個體地區資訊,不可變更。
執行個體ID
選擇源RDS MySQL執行個體ID。
資料庫帳號
填入源RDS的資料庫帳號,許可權要求請參見資料庫帳號的許可權要求。
當源RDS執行個體的資料庫類型為MySQL 5.5或MySQL 5.6時,無需配置資料庫帳號和資料庫密碼。
資料庫密碼
填入該資料庫帳號對應的密碼。
串連方式
根據需求選擇非加密串連或SSL安全連線。如果設定為SSL安全連線,您需要提前開啟RDS執行個體的SSL加密功能,詳情請參見設定SSL加密。
目前僅中國內地及中國香港地區支援設定串連方式。
目標執行個體資訊
執行個體類型
固定為DRDS執行個體,不可變更。
執行個體地區
購買資料同步執行個體時選擇的目標執行個體地區資訊,不可變更。
DRDS執行個體ID
選擇目標PolarDB-X(原DRDS升級版)執行個體ID。
單擊頁面右下角的授權白名單並進入下一步。
如果源或目標資料庫是阿里雲資料庫執行個體(例如RDS MySQL、ApsaraDB for MongoDB等),DTS會自動將對應地區DTS服務的IP地址添加到阿里雲資料庫執行個體的白名單中;如果源或目標資料庫是ECS上的自建資料庫,DTS會自動將對應地區DTS服務的IP地址添到ECS的安全規則中,您還需確保自建資料庫沒有限制ECS的訪問(若資料庫是叢集部署在多個ECS執行個體,您需要手動將DTS服務對應地區的IP地址添到其餘每個ECS的安全規則中);如果源或目標資料庫是IDC自建資料庫或其他雲資料庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS伺服器的訪問。DTS服務的IP地址,請參見DTS伺服器的IP位址區段。
DTS自動添加或您手動添加DTS服務的公網IP位址區段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,並且需要您做好基本的安全防護,包括但不限於加強帳號密碼強度防範、限制各網段開放的連接埠號碼、內部各API使用鑒權方式通訊、定期檢查並限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。
配置同步策略及對象資訊。
設定項目
配置說明
設定項目
配置說明
選擇同步對象
在源庫對象框中單擊待同步的表,然後單擊
表徵圖將其移動至已選擇對象框。
同步對象的選擇粒度為表。
預設情況下,同步對象的名稱保持不變。如果您需要改變同步對象在目標執行個體中的名稱,那麼需要使用DTS提供的對象名映射功能,詳情請參見設定同步對象在目標執行個體中的名稱。
映射名稱更改
如需更改同步對象在目標執行個體中的名稱,請使用對象名映射功能,詳情請參見庫表列映射。
源、目標庫無法串連重試時間
當源、目標庫無法串連時,DTS預設重試720分鐘(即12小時),您也可以自訂重試時間。如果DTS在設定的時間內重新串連上源、目標庫,同步任務將自動回復。否則,同步任務將失敗。
由於串連重試期間,DTS將收取任務運行費用,建議您根據業務需要自訂重試時間,或者在源和目標庫執行個體釋放後儘快釋放DTS執行個體。
單擊下一步。
選擇是否要執行全量資料初始化。
全量資料初始化:DTS將源庫中待同步表的存量資料同步至目標庫中,如果不選擇則不同步存量資料。
上述配置完成後,單擊頁面右下角的預檢查並啟動。
在同步作業正式啟動之前,會先進行預檢查。只有預檢查通過後,才能成功啟動同步作業。
如果預檢查失敗,單擊具體檢查項後的
,查看失敗詳情。
您可以根據提示修複後重新進行預檢查。
如無需修複警示檢測項,您也可以選擇確認屏蔽、忽略警示項並重新進行預檢查,跳過警示檢測項重新進行預檢查。
在預檢查對話方塊中顯示預檢查通過後,關閉預檢查對話方塊,同步作業將正式開始。
等待同步作業的鏈路初始化完成,直至處於同步中狀態。
您可以在資料同步頁面,查看資料同步作業的狀態。