從其他云數據庫遷移MySQL數據
更新時間 2024-08-30 16:25:48
最近更新時間: 2024-08-30 16:25:48
分享文章
本文介紹了如何通過數據傳輸服務DTS將數據從其他云數據庫遷移至天翼云關系數據庫MySQL版。
前提條件
- 源端
- 賬號權限要求:
- 對MySQL庫的查詢權限。
- 對待遷移庫的查詢權限。
- 部分全局權限:RELOAD、LOCK TABLES、REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、PROCESS。
- 如果是整實例遷移,需要對所有數據庫的查詢權限。
- 其他要求:
- 已開通公網訪問,并能獲取外網連接地址。
- 賬號權限要求:
- 目標端
- 賬號權限要求:
- 需要以下全局權限:ALTER、ALTER ROUTINE、CREATE、CREATE ROUTINE、CREATE TEMPORARY TABLES、CREATE USER、CREATE VIEW、DELETE、DROP、EVENT、EXECUTE、INDEX、INSERT、LOCK TABLES、PROCESS、RELOAD、SELECT、SHOW DATABASES、SHOW VIEW、TRIGGER、UPDATE。
- 其他要求:
- 已創建關系數據庫MySQL版。
- 已綁定彈性公網IP。
- 賬號權限要求:
約束限制
- 如遷移對象為表級別,則單次遷移任務僅支持遷移最多600張表。當超出數量限制,任務會在提交后會請求報錯。如果遇到這種情形,建議您拆分待遷移的表,分批配置成多個任務,或者配置為整庫遷移。
- 源數據庫GTID狀態建議為開啟狀態,源數據庫實例沒有開啟GTID的情況下DTS不支持主備HA切換,因為DTS任務會因為位點不續接而中斷導致無法恢復。
- 目標庫關聯RDS數據庫的字符集必須與源數據庫一致。
- 目標庫若已存在行數據,DTS在增量遷移過程中源庫相同主鍵的數據將覆蓋目標庫已存在的數據,因此在遷移前需要用戶自行判斷數據是否需要清除,建議用戶在遷移前自行清空目標庫。
- MySQL源數據庫的binlog日志必須打開,且binlog日志格式必須為Row格式。
- 在磁盤空間允許的情況下,建議源數據庫binlog保存時間越長越好,建議為7天。否則DTS在增量遷移時可能因無法獲取Binlog而導致任務失敗。由于您所設置的Binlog日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。
- 目標實例及關聯RDS實例的運行狀態必須正常,若關聯RDS實例是主備實例,復制狀態也必須正常。
- 目標庫關聯RDS實例必須有足夠的磁盤空間。(全量數據遷移會并發執行 INSERT 操作,導致目標數據庫的表產生碎片,因此全量遷移完成后目標數據庫的表存儲空間會比源實例的表存儲空間大,且會產生大量的BINLOG,占用大量空間)。
- 目標庫實例若選擇將時間戳類型(TIMESTAMP,DATETIME)的列作為分片鍵,則源庫數據在遷移到目標庫之后,作為分片鍵的該時間戳類型列的秒精度將被丟棄。
- 由于DTS不遷移USER信息,因此在調用目標庫的視圖、存儲過程和函數時需要對調用者授予讀寫權限。
- 在任務啟動、任務全量遷移階段,不建議對源數據庫做刪除類型的DDL操作,這樣可能會引起任務遷移失敗。
- 遷移過程中,不允許修改、刪除連接源和目標數據庫的用戶的用戶名、密碼、權限,或修改源和目標數據庫的端口號。
- 遷移過程中,不允許對源庫需要遷移的表結構進行修改。
- 選擇表級對象遷移時,增量遷移過程中不建議對表進行重命名操作。
- 增量遷移場景下,不支持源數據庫進行恢復操作。
- 增量遷移場景下,不支持無主鍵表的數據增量遷移,因為無主鍵表的增量遷移性能遠低于有主鍵的表,而且不能保證數據的一致性。
說明詳細信息請參考DTS文檔。
操作步驟
- 登錄管理控制臺。
- 單擊管理控制臺左上角的位置圖標,然后在下拉列表中選擇目標區域和項目。
- 選擇“數據庫 > 數據傳輸服務DTS”,進入DTS控制臺。
- 單擊左側菜單欄“數據遷移”。
- 點擊“創建實例”按鈕創建DTS遷移實例。
- 在“信息配置”欄中,網絡接入類型選擇“公網EIP”,公網IP任意選擇一個可用的公網IP即可。
說明如果在天翼云已有可用的公網IP,則可以直接使用,否則需要先購買一個公網IP用于實現DTS實例的公網訪問。
- 選擇您需要導入的目標數據庫實例。
- 填寫完信息后點擊“下一步 > 立即創建”,開始創建DTS實例。
- 回到DTS控制臺,等待DTS實例創建成功后,找到對應實例,點擊“實例配置”。
- 填寫源庫(其他云的數據庫)的IP地址、端口號、數據庫賬號和密碼,填寫目標庫的數據庫賬號和密碼,點擊“檢測連通性并下一步”。

- 在“源庫對象”處選擇需要遷移的數據庫,點擊箭頭移動到“已選擇對象”。

- 單擊“下一步預檢查”,等待預檢查完成。
說明如果預檢查沒有通過,可根據提示進行修改,然后重新執行預檢查。
- 單擊“啟動遷移”開始進行數據遷移。
- 等待DTS實例狀態由“運行中”變成“已完成”即完成遷移。