操作場景
本章節介紹使用CDM整庫遷移功能,將本地MySQL數據庫遷移到云服務RDS中。
當前CDM支持將本地MySQL數據庫,整庫遷移到RDS上的MySQL、PostgreSQL或者Microsoft SQL Server任意一種數據庫中。這里以整庫遷移到RDS上的MySQL數據庫為例進行介紹,使用流程如下:
1.創建CDM集群并綁定EIP
2.創建MySQL連接
3.創建RDS連接
4.創建整庫遷移作業
前提條件
- 用戶擁有EIP配額。
- 用戶已創建RDS數據庫實例,該實例的數據庫引擎為MySQL。
- 本地MySQL數據庫可通過公網訪問。如果MySQL服務器是在本地數據中心或第三方云上,需要確保MySQL可以通過公網IP訪問,或者是已經建立好了企業內部數據中心到云服務平臺的VPN通道或專線。
- 已獲取本地MySQL數據庫和RDS上MySQL數據庫的IP地址、數據庫名稱、用戶名和密碼。
- 用戶已參考管理驅動,上傳了MySQL數據庫驅動。
創建CDM集群并綁定EIP
1.參考創建CDM集群,創建CDM集群。
關鍵配置如下:
- CDM集群的規格,按待遷移的數據量選擇,一般選擇cdm.medium即可,滿足大部分遷移場景。
- CDM集群的VPC,選擇和RDS的MySQL數據庫實例所在的VPC一致,且推薦子網、安全組也與RDS上的MySQL一致。
- 如果安全控制原因不能使用相同子網和安全組,則可以修改安全組規則,允許CDM訪問RDS。
2.CDM集群創建完成后,選擇集群操作列的“綁定彈性IP”,CDM通過EIP訪問本地MySQL數據庫。
詳見下圖:集群列表

說明如果用戶對本地數據源的訪問通道做了SSL加密,則CDM無法通過彈性IP連接數據源。
創建MySQL連接
1.在CDM集群管理界面,單擊集群后的“作業管理”,選擇“連接管理 > 新建連接”,進入連接器類型的選擇界面。
2.選擇“MySQL”后單擊“下一步”,配置MySQL連接的參數。
單擊“顯示高級屬性”可查看更多可選參數,具體請參見配置常見關系數據庫連接。這里保持默認,必填參數如下表所示。
表 MySQL連接參數
| 參數名 | 說明 | 取值樣例 |
|---|---|---|
| 名稱 | 輸入便于記憶和區分的連接名稱。 | mysqllink |
| 數據庫服務器 | MySQL數據庫的IP地址或域名。 | 192.168.1.110 |
| 端口 | MySQL數據庫的端口。 | 3306 |
| 數據庫名稱 | MySQL數據庫的名稱。 | sqoop |
| 用戶名 | 擁有MySQL數據庫的讀、寫和刪除權限的用戶。 | admin |
| 密碼 | 用戶的密碼。 | - |
| 使用本地API | 使用數據庫本地API加速(系統會嘗試啟用MySQL數據庫的local_infile系統變量)。 | 是 |
| 使用Agent | 是否選擇通過Agent從源端提取數據。 | 是 |
| local_infile字符集 | mysql通過local_infile導入數據時,可配置編碼格式。 | utf8 |
| 驅動版本 | 適配mysql的驅動。 | - |
| Agent | 單擊“選擇”,選擇連接Agent中已創建的Agent。 | - |
| 單次請求行數 | 指定每次請求獲取的行數。 | 1000 |
| 單次提交行數 | 支持通過agent從源端提取數據 | 1000 |
| 連接屬性 | 自定義連接屬性。 | useCompression=true |
| 引用符號 | 連接引用表名或列名時的分隔符號。默認為空。 | ' |
| 單次寫入行數 | 指定單次批量寫入的行數,當寫入行數累計到單次批量提交行數時提交一次,該值應當小于單次提交行數。 | 100 |
3.單擊“保存”回到連接管理界面。
說明如果保存時出錯,一般是由于MySQL數據庫的安全設置問題,需要設置允許CDM集群的EIP訪問MySQL數據庫。
創建RDS連接
1.單擊CDM集群后的“作業管理”,進入作業管理界面,再選擇“連接管理 > 新建連接”,進入選擇連接器類型的界面。
2.連接器類型選擇“云數據庫 MySQL”后單擊“下一步”,配置連接參數:
- 名稱:用戶自定義連接名稱,例如:“rds_link”。
- 數據庫服務器、端口:配置為RDS上MySQL數據庫的連接地址、端口。
- 數據庫名稱:配置為RDS上MySQL數據庫的名稱。
- 用戶名、密碼:登錄數據庫的用戶和密碼。
說明
創建RDS連接時,“使用本地API”設置為“是”時,可以使用MySQL的LOAD DATA功能加快數據導入,提高導入數據到MySQL的性能。
由于RDS上的MySQL默認沒有開啟LOAD DATA功能,所以同時需要修改MySQL實例的參數組,將“local_infile”設置為“ON”,開啟該功能。
如果“local_infile”參數組不可編輯,則說明是默認參數組,需要先創建一個新的參數組,再修改該參數值,并應用到RDS的MySQL實例上。
3.單擊“保存”回到連接管理界面。
創建整庫遷移作業
1.兩個連接創建完成后,選擇“整庫遷移 > 新建作業”,開始創建遷移任務,如下圖所示。
圖 創建整庫遷移作業

- 作業名稱:用戶自定義整庫遷移的任務名稱。
- 源端作業配置
?源連接名稱:選擇上述 創建MySQL連接 中的“mysql_link”。
?模式或表空間:選擇從本地MySQL的哪個數據庫導出數據。
- 目的端作業配置
?目的連接名稱:選擇上述 創建RDS連接 中的“rds_link”。
?模式或表空間:選擇將數據導入到RDS的哪個數據庫。
?自動創表:選擇“不存在時創建”,當RDS數據庫中沒有本地MySQL數據庫里的表時,CDM會自動在RDS數據庫中創建那些表。
?導入前清空數據:選擇“是”,當RDS數據庫中存在與本地MySQL數據庫重名的表時,CDM會清除RDS中重名表里的數據。
?高級屬性里的可選參數保持默認即可。
2.單擊“下一步”,進入選擇待遷移表的界面,您可以選擇全部或者部分表進行遷移。
3.單擊“保存并運行”,CDM會立即開始執行整庫遷移任務。
作業任務啟動后,每個待遷移的表都會生成一個子任務,單擊整庫遷移的作業名稱,可查看子任務列表。
4.單擊作業操作列的“歷史記錄”,可查看該作業的歷史執行記錄、讀取和寫入的統計數據。
整庫遷移的作業沒有日志,子作業才有。在子作業的歷史記錄界面單擊“日志”,可查看作業的日志信息。