MySQL整庫實(shí)時(shí)同步至AnalyticDB for MySQL 3.0
本文以MySQL為源端、AnalyticDB for MySQL 3.0為目標(biāo)端場景為例,為您介紹如何把MySQL整個(gè)數(shù)據(jù)庫的數(shù)據(jù)全增量同步到AnalyticDB for MySQL 3.0。
前提條件
已購買獨(dú)享數(shù)據(jù)集成資源組或新版通用型資源組,詳情請參見新增和使用獨(dú)享數(shù)據(jù)集成資源組、新增和使用新版通用型資源組。
已創(chuàng)建MySQL數(shù)據(jù)源,詳情請參見MySQL數(shù)據(jù)源。
已創(chuàng)建AnalyticDB for MySQL 3.0數(shù)據(jù)源,詳情請參見創(chuàng)建AnalyticDB for MySQL3.0數(shù)據(jù)源。
已完成資源組與MySQL、AnalyticDB for MySQL 3.0數(shù)據(jù)源間的網(wǎng)絡(luò)連通,詳情請參見網(wǎng)絡(luò)連通方案。
操作步驟
步驟一:選擇同步任務(wù)類型
進(jìn)入數(shù)據(jù)集成頁面。
登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的數(shù)據(jù)集成,在下拉框中選擇對應(yīng)工作空間后單擊進(jìn)入數(shù)據(jù)集成。
在左側(cè)導(dǎo)航欄單擊同步任務(wù),然后在創(chuàng)建同步任務(wù)區(qū)域,配置來源為MySQL,去向為AnalyticDB for MySQL (V3.0),點(diǎn)擊開始創(chuàng)建。進(jìn)入新建同步任務(wù)頁面。
任務(wù)名稱:自定義同步任務(wù)名稱。
同步類型:選擇整庫實(shí)時(shí)。
步驟二:配置網(wǎng)絡(luò)連通
在網(wǎng)絡(luò)與資源配置區(qū)域,數(shù)據(jù)來源選擇已添加的MySQL數(shù)據(jù)源,數(shù)據(jù)去向選擇已添加的AnalyticDB for MySQL 3.0數(shù)據(jù)源,選擇同步資源組后,單擊測試所有連通性,測試資源組與數(shù)據(jù)源的連通性。
單擊下一步。
步驟三:選擇要同步的表
此步驟中,您可以在源端庫表區(qū)域選擇源端數(shù)據(jù)源下需要同步的表,并單擊圖標(biāo),將其移動至右側(cè)已選庫表。
步驟四:目標(biāo)表映射
在上一步驟選擇完需要同步的表后,將自動在此界面展示當(dāng)前待同步的表,但目標(biāo)表的相關(guān)屬性默認(rèn)為待刷新映射狀態(tài),需要您定義并確認(rèn)源表與目標(biāo)表映射關(guān)系,即數(shù)據(jù)的讀取與寫入關(guān)系,然后單擊刷新映射后才可進(jìn)入下一步操作。您可以直接刷新映射,或自定義目標(biāo)表規(guī)則后,再刷新映射。
您可以選中待同步表后,單擊批量刷新映射,未配置映射規(guī)則時(shí),默認(rèn)表名規(guī)則為
${源端庫名}_${表名}
,若目標(biāo)端不存在同名表時(shí),將自動新建。自定義目標(biāo)表名規(guī)則,在目標(biāo)表名映射自定義列,單擊編輯按鈕。
可以使用內(nèi)置變量和手動輸入的字符串拼接成為最終目標(biāo)表名。其中,支持您編輯內(nèi)置變量,例如,新建一個(gè)表名規(guī)則,將源表名增加后綴作為目標(biāo)表名。
編輯字段類型映射
同步任務(wù)存在默認(rèn)的源端字段類型與目標(biāo)端字段類型映射,您可以單擊表格右上角的編輯字段類型映射,自定義源端表與目標(biāo)端表字段類型映射關(guān)系,配置完后單擊應(yīng)用并刷新映射。
編輯目標(biāo)表結(jié)構(gòu)并添加字段賦值
當(dāng)目標(biāo)AnalyticDB for MySQL 3.0表為待建立狀態(tài)時(shí),您可以為目標(biāo)表在原有表結(jié)構(gòu)基礎(chǔ)上新增字段。操作如下:
為目標(biāo)表添加字段
單表新增字段:單擊目標(biāo)表名列的按鈕添加字段。
批量新增字段:選中待同步的所有表,在表格底部選擇
。
為字段賦值。您可以通過以下操作為上述步驟中新增的字段賦值。
單表賦值:單擊目標(biāo)表字段賦值列的配置按鈕,為目標(biāo)表字段賦值。
批量賦值:在列表底部選擇
為目標(biāo)表中相同的字段批量賦值。
說明在賦值時(shí)支持賦值常量與變量,您可通過圖標(biāo)切換賦值模式。
配置DML規(guī)則
數(shù)據(jù)集成提供默認(rèn)DML處理規(guī)則,同時(shí),您可以根據(jù)業(yè)務(wù)需要在此界面對寫入AnalyticDB for MySQL 3.0的DML命令定義處理規(guī)則。
單表定義規(guī)則:單擊表格DML規(guī)則配置列的配置,對目標(biāo)表單獨(dú)定義DML規(guī)則。
批量定義規(guī)則:選中待同步的所有表,在列表底部選擇
。
步驟五:報(bào)警配置
為避免任務(wù)出錯(cuò)導(dǎo)致業(yè)務(wù)數(shù)據(jù)同步延遲,您可以對實(shí)時(shí)同步子任務(wù)設(shè)置不同的報(bào)警策略。
單擊頁面右上方的報(bào)警配置,進(jìn)入實(shí)時(shí)子任務(wù)報(bào)警設(shè)置頁面。
單擊新增報(bào)警,配置報(bào)警規(guī)則。
說明此處定義的報(bào)警規(guī)則,將對該任務(wù)產(chǎn)生的實(shí)時(shí)同步子任務(wù)生效,您可在任務(wù)配置完成后,進(jìn)入實(shí)時(shí)同步任務(wù)運(yùn)行與管理界面查看并修改該實(shí)時(shí)同步子任務(wù)的監(jiān)控報(bào)警規(guī)則。
管理報(bào)警規(guī)則。對于已創(chuàng)建的報(bào)警規(guī)則,您可以通過報(bào)警開關(guān)控制報(bào)警規(guī)則是否開啟,同時(shí),您可以根據(jù)報(bào)警級別將報(bào)警發(fā)送給不同的人員。
步驟六:高級參數(shù)配置
數(shù)據(jù)集成提供數(shù)據(jù)庫源端最大連接數(shù)參數(shù)可供修改,您可以按需對該參數(shù)值進(jìn)行修改,例如通過最大連接數(shù)上限限制,避免當(dāng)前同步方案對數(shù)據(jù)庫造成過大的壓力從而影響生產(chǎn)。
請?jiān)谕耆私鈱?yīng)參數(shù)含義的情況下再進(jìn)行修改,以免產(chǎn)生不可預(yù)料的錯(cuò)誤或者數(shù)據(jù)質(zhì)量問題。
單擊界面右上方的高級參數(shù)配置,進(jìn)入高級參數(shù)配置頁面。
在高級參數(shù)配置頁面修改源端最大連接數(shù)參數(shù)。
步驟七:DDL能力配置
來源數(shù)據(jù)源會包含許多DDL操作,您可以根據(jù)業(yè)務(wù)需求,在界面右上方單擊DDL能力配置,進(jìn)入DDL能力配置頁面,對不同的DDL消息設(shè)置同步至目標(biāo)端的處理策略。
不同DDL消息處理策略請參見:DDL消息處理規(guī)則。
步驟八:資源組配置
您可以單擊界面右上方的資源組配置,查看并切換當(dāng)前的任務(wù)所使用的資源組。
步驟九:執(zhí)行同步任務(wù)
完成所有配置后,單擊頁面底部的完成配置。
在
界面,找到已創(chuàng)建的同步任務(wù),單擊操作列的啟動。單擊任務(wù)列表中對應(yīng)任務(wù)的名稱/ID,查看任務(wù)的詳細(xì)執(zhí)行過程。
同步任務(wù)運(yùn)維
查看任務(wù)運(yùn)行狀態(tài)
創(chuàng)建完成同步任務(wù)后,您可以在同步任務(wù)頁面查看當(dāng)前已創(chuàng)建的同步任務(wù)列表及各個(gè)同步任務(wù)的基本信息。
您可以在操作列啟動或停止同步任務(wù),在更多中可以對同步任務(wù)進(jìn)行編輯、查看詳情等操作。
已啟動的任務(wù)您可以在執(zhí)行概況中看到任務(wù)運(yùn)行的基本情況,也可以單擊對應(yīng)的概況區(qū)域查看執(zhí)行詳情。
MySQL到AnalyticDB for MySQL 3.0的整庫實(shí)時(shí)同步任務(wù)分為三個(gè)步驟:
結(jié)構(gòu)遷移:包含目標(biāo)表的創(chuàng)建方式(已有表/自動建表),如果是自動建表,會展示DDL語句。
全量初始化:包含離線同步的表信息、同步的進(jìn)度、以及寫入的條數(shù)。
實(shí)時(shí)同步:包含實(shí)時(shí)同步的統(tǒng)計(jì)信息,包含實(shí)時(shí)的進(jìn)度讀寫流量、DDL記錄、DML記錄和報(bào)警信息。
任務(wù)重跑
在某些特殊情況下,如果您需要增減表、修改目標(biāo)表Schema信息或者表名信息時(shí),您還可以單擊同步任務(wù)操作列的重跑,系統(tǒng)會將新增的表或有變更的表進(jìn)行同步,之前同步過的表或者未修改的表將不會再進(jìn)行同步。
不修改任務(wù)配置,直接單擊重跑操作,重新運(yùn)行全量初始化+實(shí)時(shí)同步。
編輯任務(wù),進(jìn)行增減表操作,單擊完成配置。這個(gè)時(shí)候任務(wù)的操作列會顯示應(yīng)用更新,單擊應(yīng)用更新會直接觸發(fā)修改后的任務(wù)重跑。新增的表才會進(jìn)行同步,之前同步過的表不會再同步。