從通過專線、VPN網(wǎng)關(guān)或智能接入網(wǎng)關(guān)接入的自建MySQL同步至RDS
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細(xì)閱讀。
數(shù)據(jù)傳輸服務(wù)DTS(Data Transmission Service)支持將通過專線、VPN網(wǎng)關(guān)或智能接入網(wǎng)關(guān)接入的自建MySQL同步至RDS MySQL或RDS MySQL Serverless,實(shí)現(xiàn)增量數(shù)據(jù)的實(shí)時(shí)同步。
前提條件
已創(chuàng)建RDS MySQL實(shí)例或Serverless實(shí)例。
自建MySQL數(shù)據(jù)庫版本為5.1、5.5、5.6、5.7或8.0版本。
已經(jīng)將自建MySQL數(shù)據(jù)庫接入至阿里云專有網(wǎng)絡(luò),詳情請參見通過CEN實(shí)現(xiàn)本地IDC與DTS云服務(wù)互通。
說明接入至阿里云專有網(wǎng)絡(luò)后,還需要放通DTS的IP地址訪問自建數(shù)據(jù)庫所屬的網(wǎng)絡(luò),詳情請參見通過VPN網(wǎng)關(guān)實(shí)現(xiàn)本地IDC與DTS云服務(wù)互通。
注意事項(xiàng)
DTS在執(zhí)行全量數(shù)據(jù)初始化時(shí)將占用源庫和目標(biāo)庫一定的讀寫資源,可能會(huì)導(dǎo)致數(shù)據(jù)庫的負(fù)載上升,在數(shù)據(jù)庫性能較差、規(guī)格較低或業(yè)務(wù)量較大的情況下(例如源庫有大量慢SQL、存在無主鍵表或目標(biāo)庫存在死鎖等),可能會(huì)加重?cái)?shù)據(jù)庫壓力,甚至導(dǎo)致數(shù)據(jù)庫服務(wù)不可用。因此您需要在執(zhí)行數(shù)據(jù)同步前評估源庫和目標(biāo)庫的性能,同時(shí)建議您在業(yè)務(wù)低峰期執(zhí)行數(shù)據(jù)同步(例如源庫和目標(biāo)庫的CPU負(fù)載在30%以下)。
數(shù)據(jù)同步時(shí),請勿對源庫的同步對象使用gh-ost或pt-online-schema-change等類似工具執(zhí)行在線DDL變更,否則會(huì)導(dǎo)致同步失敗。
如果源庫中待遷移的表沒有主鍵或唯一約束,且所有字段沒有唯一性,可能會(huì)導(dǎo)致目標(biāo)數(shù)據(jù)庫中出現(xiàn)重復(fù)數(shù)據(jù)。
全量初始化過程中,并發(fā)INSERT導(dǎo)致目標(biāo)實(shí)例的表碎片,全量初始化完成后,目標(biāo)實(shí)例的表空間比源實(shí)例的表空間大。
費(fèi)用說明
同步類型 | 鏈路配置費(fèi)用 |
庫表結(jié)構(gòu)同步和全量數(shù)據(jù)同步 | 不收費(fèi)。 |
增量數(shù)據(jù)同步 | 收費(fèi),詳情請參見計(jì)費(fèi)概述。 |
支持的同步架構(gòu)
一對一單向同步
一對多單向同步
級聯(lián)單向同步
多對一單向同步
關(guān)于各類同步架構(gòu)的介紹及注意事項(xiàng),請參見數(shù)據(jù)同步拓?fù)浣榻B。
支持同步的SQL操作
操作類型 | SQL操作語句 |
DML | INSERT、UPDATE、DELETE、REPLACE |
DDL |
|
功能限制
不兼容觸發(fā)器
當(dāng)同步對象為整個(gè)庫,且?guī)熘械挠|發(fā)器(TRIGGER)會(huì)更新庫內(nèi)某個(gè)表時(shí),可能導(dǎo)致源和目標(biāo)庫的數(shù)據(jù)不一致。相關(guān)解決方案請參見源庫存在觸發(fā)器時(shí)如何配置同步或遷移作業(yè)。
RENAME TABLE限制
RENAME TABLE操作可能導(dǎo)致同步數(shù)據(jù)不一致。例如同步對象只包含表A,如果同步過程中源實(shí)例將表A重命名為表B,那么表B將不會(huì)被同步到目標(biāo)庫。為避免該問題,您可以在數(shù)據(jù)同步配置時(shí),選擇同步表A和表B所在的整個(gè)數(shù)據(jù)庫作為同步對象。
準(zhǔn)備工作
在正式配置數(shù)據(jù)同步作業(yè)之前,您需要為自建MySQL創(chuàng)建賬號并設(shè)置binlog。
操作步驟
購買數(shù)據(jù)同步作業(yè),詳情請參見購買流程。
說明購買時(shí),選擇源實(shí)例和目標(biāo)實(shí)例均為MySQL,并選擇同步拓?fù)錇?b data-tag="uicontrol" id="uicontrol-r4t-baa-cwb" class="uicontrol">單向同步。
- 說明
若數(shù)據(jù)傳輸控制臺自動(dòng)跳轉(zhuǎn)至數(shù)據(jù)管理DMS控制臺,您可以在右下角的中單擊,返回至舊版數(shù)據(jù)傳輸控制臺。
在左側(cè)導(dǎo)航欄,單擊數(shù)據(jù)同步。
在同步作業(yè)列表頁面頂部,選擇同步的目標(biāo)實(shí)例所屬地域。
定位至已購買的數(shù)據(jù)同步實(shí)例,單擊該實(shí)例的配置同步鏈路。
配置同步通道的源實(shí)例及目標(biāo)實(shí)例信息。
類別
配置
說明
無
同步作業(yè)名稱
DTS會(huì)自動(dòng)生成一個(gè)同步作業(yè)名稱,建議配置具有業(yè)務(wù)意義的名稱(無唯一性要求),便于后續(xù)識別。
源實(shí)例信息
實(shí)例類型
選擇通過專線/VPN網(wǎng)關(guān)/智能接入網(wǎng)關(guān)接入的自建數(shù)據(jù)庫。
實(shí)例地區(qū)
購買數(shù)據(jù)同步實(shí)例時(shí)選擇的源實(shí)例地域信息,不可變更。
對端專有網(wǎng)絡(luò)
選擇自建數(shù)據(jù)庫接入的VPC ID。
數(shù)據(jù)庫類型
購買數(shù)據(jù)同步實(shí)例時(shí)選擇的數(shù)據(jù)庫類型:MySQL,不可變更。
IP地址
填入自建MySQL數(shù)據(jù)庫的服務(wù)器IP地址。
端口
填入自建MySQL數(shù)據(jù)庫的服務(wù)端口,默認(rèn)為3306。
數(shù)據(jù)庫賬號
填入自建MySQL的數(shù)據(jù)庫賬號,需要具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和所有同步對象的SELECT權(quán)限。
數(shù)據(jù)庫密碼
填入該數(shù)據(jù)庫賬號對應(yīng)的密碼。
目標(biāo)實(shí)例信息
實(shí)例類型
選擇RDS實(shí)例。
實(shí)例地區(qū)
購買數(shù)據(jù)同步實(shí)例時(shí)選擇的目標(biāo)實(shí)例地域信息,不可變更。
實(shí)例ID
選擇作為數(shù)據(jù)同步目標(biāo)的RDS實(shí)例ID。
數(shù)據(jù)庫賬號
填入目標(biāo)RDS的數(shù)據(jù)庫賬號。
說明當(dāng)目標(biāo)RDS實(shí)例的數(shù)據(jù)庫類型為MySQL 5.5或MySQL 5.6時(shí),無需配置數(shù)據(jù)庫賬號和數(shù)據(jù)庫密碼。
數(shù)據(jù)庫密碼
填入該數(shù)據(jù)庫賬號對應(yīng)的密碼。
連接方式
根據(jù)需求選擇非加密連接或SSL安全連接。如果設(shè)置為SSL安全連接,您需要提前開啟RDS實(shí)例的SSL加密功能,詳情請參見設(shè)置SSL加密。
單擊頁面右下角的授權(quán)白名單并進(jìn)入下一步。
如果源或目標(biāo)數(shù)據(jù)庫是阿里云數(shù)據(jù)庫實(shí)例(例如RDS MySQL、云數(shù)據(jù)庫MongoDB版等),DTS會(huì)自動(dòng)將對應(yīng)地區(qū)DTS服務(wù)的IP地址添加到阿里云數(shù)據(jù)庫實(shí)例的白名單中;如果源或目標(biāo)數(shù)據(jù)庫是ECS上的自建數(shù)據(jù)庫,DTS會(huì)自動(dòng)將對應(yīng)地區(qū)DTS服務(wù)的IP地址添到ECS的安全規(guī)則中,您還需確保自建數(shù)據(jù)庫沒有限制ECS的訪問(若數(shù)據(jù)庫是集群部署在多個(gè)ECS實(shí)例,您需要手動(dòng)將DTS服務(wù)對應(yīng)地區(qū)的IP地址添到其余每個(gè)ECS的安全規(guī)則中);如果源或目標(biāo)數(shù)據(jù)庫是IDC自建數(shù)據(jù)庫或其他云數(shù)據(jù)庫,則需要您手動(dòng)添加對應(yīng)地區(qū)DTS服務(wù)的IP地址,以允許來自DTS服務(wù)器的訪問。DTS服務(wù)的IP地址,請參見DTS服務(wù)器的IP地址段。
警告DTS自動(dòng)添加或您手動(dòng)添加DTS服務(wù)的公網(wǎng)IP地址段可能會(huì)存在安全風(fēng)險(xiǎn),一旦使用本產(chǎn)品代表您已理解和確認(rèn)其中可能存在的安全風(fēng)險(xiǎn),并且需要您做好基本的安全防護(hù),包括但不限于加強(qiáng)賬號密碼強(qiáng)度防范、限制各網(wǎng)段開放的端口號、內(nèi)部各API使用鑒權(quán)方式通信、定期檢查并限制不需要的網(wǎng)段,或者使用通過內(nèi)網(wǎng)(專線/VPN網(wǎng)關(guān)/智能網(wǎng)關(guān))的方式接入。
配置同步策略及對象信息。
配置項(xiàng)目
配置說明
選擇同步對象
在源庫對象框中單擊待同步的對象,然后單擊圖標(biāo)將其移動(dòng)至已選擇對象框。
同步對象的選擇粒度為庫、表。
說明如果選擇整個(gè)庫作為同步對象,該庫中所有對象的結(jié)構(gòu)變更操作都會(huì)同步至目標(biāo)庫。
默認(rèn)情況下,同步對象在目標(biāo)庫中的名稱與源庫保持一致。如果您需要改變同步對象在目標(biāo)庫中的名稱,需要使用對象名映射功能,詳情請參見設(shè)置同步對象在目標(biāo)實(shí)例中的名稱。
映射名稱更改
如需更改同步對象在目標(biāo)實(shí)例中的名稱,請使用對象名映射功能,詳情請參見庫表列映射。
源表DMS_ONLINE_DDL過程中是否復(fù)制臨時(shí)表到目標(biāo)庫
如源庫使用數(shù)據(jù)管理DMS(Data Management)執(zhí)行Online DDL變更,您可以選擇是否同步Online DDL變更產(chǎn)生的臨時(shí)表數(shù)據(jù)。
是:同步Online DDL變更產(chǎn)生的臨時(shí)表數(shù)據(jù)。
說明Online DDL變更產(chǎn)生的臨時(shí)表數(shù)據(jù)過大,可能會(huì)導(dǎo)致同步任務(wù)延遲。
否:不同步Online DDL變更產(chǎn)生的臨時(shí)表數(shù)據(jù),只同步源庫的原始DDL數(shù)據(jù)。
說明該方案會(huì)導(dǎo)致目標(biāo)庫鎖表。
源、目標(biāo)庫無法連接重試時(shí)間
當(dāng)源、目標(biāo)庫無法連接時(shí),DTS默認(rèn)重試720分鐘(即12小時(shí)),您也可以自定義重試時(shí)間。如果DTS在設(shè)置的時(shí)間內(nèi)重新連接上源、目標(biāo)庫,同步任務(wù)將自動(dòng)恢復(fù)。否則,同步任務(wù)將失敗。
說明由于連接重試期間,DTS將收取任務(wù)運(yùn)行費(fèi)用,建議您根據(jù)業(yè)務(wù)需要自定義重試時(shí)間,或者在源和目標(biāo)庫實(shí)例釋放后盡快釋放DTS實(shí)例。
- 上述配置完成后,單擊頁面右下角的下一步。
配置同步初始化的高級配置信息。
此步驟會(huì)將源實(shí)例中已經(jīng)存在同步對象的結(jié)構(gòu)及數(shù)據(jù)在目標(biāo)實(shí)例中初始化,作為后續(xù)增量同步數(shù)據(jù)的基線數(shù)據(jù)。
同步初始化類型細(xì)分為:結(jié)構(gòu)初始化,全量數(shù)據(jù)初始化。默認(rèn)情況下,需要選擇結(jié)構(gòu)初始化和全量數(shù)據(jù)初始化。
上述配置完成后,單擊頁面右下角的預(yù)檢查并啟動(dòng)。
重要在數(shù)據(jù)同步任務(wù)正式啟動(dòng)之前,會(huì)先進(jìn)行預(yù)檢查。只有預(yù)檢查通過后,才能成功啟動(dòng)數(shù)據(jù)同步任務(wù)。
如果預(yù)檢查失敗,單擊具體檢查項(xiàng)后的,查看失敗詳情。
您可以根據(jù)提示修復(fù)后重新進(jìn)行預(yù)檢查。
如無需修復(fù)告警檢測項(xiàng),您也可以選擇確認(rèn)屏蔽、忽略告警項(xiàng)并重新進(jìn)行預(yù)檢查,跳過告警檢測項(xiàng)重新進(jìn)行預(yù)檢查。
在預(yù)檢查對話框中顯示預(yù)檢查通過后,關(guān)閉預(yù)檢查對話框,同步作業(yè)將正式開始。
等待該同步作業(yè)的鏈路初始化完成,直至狀態(tài)處于同步中。
您可以在數(shù)據(jù)同步頁面,查看數(shù)據(jù)同步狀態(tài)。