本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
數據傳輸服務DTS(Data Transmission Service)支持將通過專線、VPN網關或智能接入網關接入的自建MySQL數據同步至云原生數據倉庫AnalyticDB PostgreSQL,幫助您輕松實現數據的流轉,將企業數據集中分析。
前提條件
自建MySQL數據庫版本為5.1、5.5、5.6、5.7或8.0版本。
源庫中待同步的數據表必須具備主鍵。
源庫必須開啟binlog,同時建議您創建一個賬號用于數據同步,詳情請參見為自建MySQL創建賬號并設置binlog。
說明該賬號需具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和所有同步對象的SELECT權限。
自建數據庫所屬的本地網絡已通過專線、VPN網關或智能接入網關的方式接入至阿里云專有網絡,并且已經通過VPN網關實現本地IDC與DTS云服務互通。
說明相關接入方案請參見本地IDC接入至阿里云方案概覽,本文不做詳細介紹。
已創建目標云原生數據倉庫AnalyticDB PostgreSQL實例,如未創建請參見創建云原生數據倉庫AnalyticDB PostgreSQL實例。
注意事項
DTS在執行全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升,在數據庫性能較差、規格較低或業務量較大的情況下(例如源庫有大量慢SQL、存在無主鍵表或目標庫存在死鎖等),可能會加重數據庫壓力,甚至導致數據庫服務不可用。因此您需要在執行數據同步前評估源庫和目標庫的性能,同時建議您在業務低峰期執行數據同步(例如源庫和目標庫的CPU負載在30%以下)。
費用說明
同步類型 | 鏈路配置費用 |
庫表結構同步和全量數據同步 | 不收費。 |
增量數據同步 | 收費,詳情請參見計費概述。 |
同步限制
同步對象僅支持數據表。
不支持BIT、VARBIT、GEOMETRY、ARRAY、UUID、TSQUERY、TSVECTOR、TXID_SNAPSHOT、POINT類型的數據同步。
暫不支持同步前綴索引,如果源庫存在前綴索引可能導致數據同步失敗。
在數據同步時,請勿對源庫的同步對象使用gh-ost或pt-online-schema-change等類似工具執行在線DDL變更,否則會導致同步失敗。
支持同步的SQL操作
DML操作:INSERT、UPDATE、DELETE。
DDL操作:ADD COLUMN。
說明不支持CREATE TABLE操作,如果您需要將新增的表作為同步對象,則需要執行新增同步對象操作。
支持的同步架構
1對1單向同步。
1對多單向同步。
多對1單向同步。
術語及概念對應關系
MySQL | 云原生數據倉庫AnalyticDB PostgreSQL |
Database | Schema |
Table | Table |
操作步驟
購買數據同步作業,詳情請參見購買流程。
說明購買時,選擇源實例為MySQL,目標實例為AnalyticDB for PostgreSQL,并選擇同步拓撲為單向同步。
登錄數據傳輸控制臺。
在左側導航欄,單擊數據同步。
在同步作業列表頁面頂部,選擇同步的目標實例所屬地域。
定位至已購買的數據同步實例,單擊配置同步鏈路。
配置同步作業的源實例及目標實例信息。
類別
配置
說明
無
同步作業名稱
DTS會自動生成一個同步作業名稱,建議配置具有業務意義的名稱(無唯一性要求),便于后續識別。
源實例信息
實例類型
選擇通過專線/VPN網關/智能接入網關接入的自建數據庫。
實例地區
購買數據同步實例時選擇的源實例地域信息,不可變更。
對端專有網絡
選擇自建數據庫接入的VPC ID。
數據庫類型
固定為MySQL,不可變更。
IP地址
填入自建MySQL數據庫的服務器IP地址。
端口
填入自建數據庫的服務端口,默認為3306。
數據庫賬號
填入自建MySQL的數據庫賬號。
說明該賬號需具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和所有同步對象的SELECT權限。
數據庫密碼
填入該數據庫賬號對應的密碼。
目標實例信息
實例類型
固定為AnalyticDB for PostgreSQL,無需設置。
實例地區
購買數據同步實例時選擇的目標實例地域信息,不可變更。
實例ID
選擇目標云原生數據倉庫AnalyticDB PostgreSQL實例ID。
數據庫名稱
填入同步目標表所屬的數據庫名稱。
數據庫賬號
填入云原生數據倉庫AnalyticDB PostgreSQL的初始賬號,詳情請參見創建數據庫賬號。
說明您也可以填入具備RDS_SUPERUSER權限的賬號,創建方法請參見用戶權限管理。
數據庫密碼
填入該數據庫賬號對應的密碼。
單擊頁面右下角的授權白名單并進入下一步。
如果源或目標數據庫是阿里云數據庫實例(例如RDS MySQL、云數據庫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會將源實例中待同步對象的結構及數據在目標實例中初始化,作為后續增量同步數據的基線數據。
目標已存在表的處理模式
清空目標表的數據
在預檢查階段跳過同名對象存在性檢查的檢查項目。全量初始化之前將目標表的數據清空。適用于完成同步任務測試后的正式同步場景。
忽略報錯并繼續執行
在預檢查階段跳過同名對象存在性檢查的檢查項目。全量初始化時直接追加數據。適用于多張表同步到一張表的匯總同步場景。
同步操作類型
根據業務需求選擇需要同步的操作類型:
Insert
Update
Delete
AlterTable
選擇同步對象
無
在源庫對象框中單擊待同步的表,然后單擊圖標將其移動至已選擇對象框。
說明同步對象的選擇粒度為表。
如果需要目標表中的列名稱與源表不同,需要使用DTS的字段映射功能,詳情請參見設置同步對象在目標實例中的名稱。
映射名稱更改
無
如需更改同步對象在目標實例中的名稱,請使用對象名映射功能,詳情請參見庫表列映射。
源表DMS_ONLINE_DDL過程中是否復制臨時表到目標庫
無
如源庫使用數據管理DMS(Data Management)執行Online DDL變更,您可以選擇是否同步Online DDL變更產生的臨時表數據。
是:同步Online DDL變更產生的臨時表數據。
說明Online DDL變更產生的臨時表數據過大,可能會導致同步任務延遲。
否:不同步Online DDL變更產生的臨時表數據,只同步源庫的原始DDL數據。
說明該方案會導致目標庫鎖表。
源、目標庫無法連接重試時間
無
當源、目標庫無法連接時,DTS默認重試720分鐘(即12小時),您也可以自定義重試時間。如果DTS在設置的時間內重新連接上源、目標庫,同步任務將自動恢復。否則,同步任務將失敗。
說明由于連接重試期間,DTS將收取任務運行費用,建議您根據業務需要自定義重試時間,或者在源和目標庫實例釋放后盡快釋放DTS實例。
設置待同步的表在云原生數據倉庫AnalyticDB PostgreSQL中的主鍵列和分布列信息。
上述配置完成后,單擊頁面右下角的預檢查并啟動。
說明在同步作業正式啟動之前,會先進行預檢查。只有預檢查通過后,才能成功啟動同步作業。
如果預檢查失敗,單擊具體檢查項后的,查看失敗詳情。
您可以根據提示修復后重新進行預檢查。
如無需修復告警檢測項,您也可以選擇確認屏蔽、忽略告警項并重新進行預檢查,跳過告警檢測項重新進行預檢查。
在預檢查對話框中顯示預檢查通過后,關閉預檢查對話框,同步作業將正式開始。
等待同步作業的鏈路初始化完成,直至處于同步中狀態。
您可以在數據同步頁面,查看數據同步作業的狀態。