293
小米路由器
從本地MySQL遷移到RDS for MySQL__數據遷移_用戶指南_數據傳輸-阿裏雲
使用數據傳輸DTS可以將本地MySQL實例的數據遷移到RDS for MySQL實例。DTS提供的增量數據同步功能,可以實現在本地應用不停服的情況下,平滑完成MySQL數據的遷移工作。
本小節簡單介紹使用DTS進行MySQL->RDS For MySQL數據遷移的任務配置流程。
遷移步驟
對於MySQL->RDS For MySQL數據遷移,DTS支持結構遷移、全量數據遷移及增量數據遷移,這個遷移類型的功能及限製如下:
結構遷移
數據傳輸會將遷移對象的結構定義遷移到目標實例。目前DTS支持結構遷移的對象有:表、視圖、觸發器、存儲過程、存儲函數。
全量數據遷移
全量遷移將MySQL實例的存量數據全部遷移到目標RDS實例。
如果用戶隻進行全量數據遷移,那麼遷移過程中本地MySQL實例新增的業務寫入不會被同步到目標RDS實例。
如果用戶還選擇了增量數據遷移,那麼全量遷移過程中,為了保證遷移數據一致性,無主鍵的非事務表會被鎖定,鎖定期間這些表無法寫入,鎖定時長依賴於這些表的數據量大小,在這些無主鍵非事務表遷移完成後,鎖才會釋放。
增量數據遷移
增量遷移會將遷移過程中,本地MySQL實例的增量變更數據同步到目標RDS實例,增量數據遷移可以實現本地MySQL實例在遷移過程中產生的增量數據被實時同步到目標庫,最終實現本地MySQL同目標RDS實例進入動態數據同步的過程。
遷移限製
- 遷移過程中,不支持DDL操作
- 結構遷移不支持event的遷移
- 如果使用了對象名映射功能後,依賴這個對象的其他對象可能遷移失敗
- 當選擇增量遷移時,源MySQL實例需要開啟binlog
- 當選擇增量遷移時,源庫的binlog_format 要為row
- 當選擇增量遷移且源MySQL如果為5.6版本時,它的binlog_row_image必須為full
遷移權限要求
當使用DTS進行MySQL->RDS For MySQL遷移時,在不同遷移類型,對源跟目標MySQL實例的遷移帳號權限要求如下:
遷移類型 | 結構遷移 | 全量遷移 | 增量遷移 |
---|---|---|---|
本地MySQL實例 | select | select | super select replication slave replication client |
目的RDS實例 | 讀寫權限 | 讀寫權限 | 讀寫權限 |
遷移流程
DTS 在進行MySQL->RDS For Mysql數據遷移時,為了解決對象間的依賴關係,提高遷移成功率。結構對象及數據的遷移順序如下:
- 結構對象:表、視圖的遷移
- 全量數據遷移
- 結構對象:存儲過程、函數、觸發器、外鍵的遷移
- 增量數據遷移
如果任務沒有選擇增量數據遷移,那麼當全量數據遷移完成後,任務列表中的遷移進度為:結構遷移100%,全量遷移100%,遷移狀態為“遷移中”。此時遷移任務正在進行步驟(3)中的對象的遷移。此時,請勿手動結束任務,否則會造成遷移數據丟失。
遷移任務配置
下麵詳細介紹使用DTS將本地的MySQL遷移到RDS for MySQL的任務配置流程。
RDS實例數據庫創建
在數據遷移過程中,如果待遷移的數據庫在目標RDS實例中不存在,那麼DTS自動會創建。但是對於如下兩種情況,用戶需要在配置遷移任務之前,手動創建數據庫。
- 數據庫名稱不符合:RDS定義規範(由小寫字母、數字、下劃線、中劃線組成,字母開頭,字母或數字結尾,最長64個字符)。
- 待遷移數據庫,在Oracle跟目標RDS實例中名稱不同。
對於這兩種情況,用戶需要在配置遷移任務之前,先在RDS控製台完成數據庫創建。具體參考RDS數據庫創建流程RDS使用手冊。
遷移帳號創建
遷移任務配置,需要提供本地MySQL數據庫及目標RDS實例的遷移賬號。遷移賬號所需權限詳見上文的 遷移權限要求。
如果源MySQL實例遷移賬號尚未創建,那麼您可以參考 Grant語法說明,創建滿足權限要求的遷移賬號。
如果目標RDS實例遷移賬號創建,那麼您可以參考 RDS賬號創建流程,創建對待遷移數據庫有讀寫權限的遷移賬號。
其他準備工作
如果需要進行增量遷移,那麼需要確認源庫的binlog是否開啟,格式是否滿足要求。具體確認項如下。
確認源庫的binlog是否開啟。
如果這裏麵查詢出來的log_bin=OFF,那麼說明源庫沒有開啟binlog,這個時候如果需要使用增量遷移的話,需要修改本地MySQL的binlog配置,打開binlog日誌。
- 開啟二進製日誌,修改log_bin=mysql_bin。
- 設置binlog模式為row,修改binlog_format=row。
- 配置server_id大於1,即server_id=某一個大於1的整數。
- 如果版本為5.6,修改binlog_row_image=full。
- 修改完成後,重啟MySQL進程。
確認源庫的binlog格式為row模式。
使用上麵的命令確認本地MySQL的binlog格式是否為row,如果查詢出來的結果不為ROW的話,那麼通過如下的參數設置命令將模式修改為row。
當修改完成後,最好將已有的老連接KILL掉重連,否則可能出現其他的連接依然使用statement格式記錄binlog日誌。
當本地MySQL版本大等於5.6.2時,確認源庫的binlog_row_image=full。
如果查詢出來的結果不為FULL的話,那麼通過如下的參數設置命令將其修改為full。
遷移任務配置
當數據庫、遷移賬號都創建完成後,就可以開始配置遷移任務了。下麵詳細介紹下具體的配置步驟。
- 進入數據傳輸DTS控製台,點擊右上角的創建遷移任務,開始任務配置。
本地MySQL及目標RDS實例連接信息配置。
在這個步驟中,主要配置遷移任務名稱,遷移源實例及目標實例連接信息。其中:
任務名稱
默認情況下,DTS為每個任務自動生成一個任務名稱。任務名稱沒有唯一性要求,您可以修改這個名稱,為任務配置一個具有業務意義的名稱,便於後續的任務識別。
源實例連接信息
- 實例類型:選擇 有公網IP的自建數據庫
- 數據庫類型:選擇 MySQL
- 主機名或IP地址:配置本地MySQL數據庫訪問地址,這個地址必須為公網訪問方式
- 端口:MySQL實例監聽端口
- 賬號:MySQL實例訪問賬號
- 密碼:上麵MySQL訪問賬號對應的密碼
目標RDS實例連接信息。
- 實例類型:選擇 RDS實例
- RDS實例ID: 配置遷移的目標RDS實例的實例ID。 DTS支持經典網絡、VPC網絡的RDS實例
- 數據庫賬號:RDS實例的連接賬號
- 數據庫密碼:上麵數據庫賬號對應的數據庫密碼
遷移對象及遷移類型配置。
遷移類型
DTS支持 結構遷移、全量數據遷移、增量數據遷移。
如果需要進行不停機遷移,那麼需要選擇:結構遷移+全量數據遷移+增量數據遷移。
如果隻進行全量遷移,那麼需要選擇:結構遷移+全量數據遷移。
遷移對象
遷移對象,需要選擇您要遷移的對象。遷移對象選擇的粒度可以為:庫、表、列三個粒度。
默認情況下,對象遷移到RDS實例後,對象名跟本地MySQL實例一致。如果您遷移的對象在源實例跟目標實例上名稱不同,那麼需要使用DTS提供的對象名映射功能,詳細使用方式可以參考庫表列映射。
當配置完遷移對象及遷移類型後,即進入任務啟動前的預檢查步驟
預檢查。
在遷移任務正式啟動之前,會先進行前置預檢查,隻有預檢查通過後,才能成功啟動遷移。
如果預檢查失敗,那麼可以點擊具體檢查項後的按鈕,查看具體的失敗詳情,並根據失敗原因修複後,重新進行預檢查。
啟動遷移任務。
當預檢查通過後,我們可以啟動遷移任務,任務啟動後,可以到任務列表中查看任務具體的遷移狀態及進度。
增量數據遷移是個動態同步的過程,所以建議在增量遷移達到無延遲狀態時,在目標數據庫上進行業務驗證,如果驗證成功,那麼可以停掉遷移任務,然後將業務切換到目標數據庫。
至此,完成將本地MySQL數據庫到RDS For MySQL的數據遷移任務配置。
最後更新:2016-11-24 09:54:30
上一篇:
從本地Oracle遷移到RDS for MySQL__數據遷移_用戶指南_數據傳輸-阿裏雲
下一篇:
從本地SQL Server遷移到RDS for SQL Server__數據遷移_用戶指南_數據傳輸-阿裏雲
數據轉發到DataHub__規則引擎_控製台使用手冊_阿裏雲物聯網套件-阿裏雲
大數據早報:摩拜發布十一大數據預測報告 阿裏雲發布史上最強企業雲安全架構
服務認證失敗__Ali-Tomcat 問題_開發常見問題_產品常見問題_企業級分布式應用服務 EDAS-阿裏雲
有關Multipart命令__osscmd_常用工具_對象存儲 OSS-阿裏雲
運營商錯誤碼(移動)__常見問題_短信服務-阿裏雲
SQL優化__最佳實踐_分布式關係型數據庫 DRDS-阿裏雲
LogHub-監控__Getting-Started_日誌服務-阿裏雲
刪除伸縮組__伸縮組_用戶指南_彈性伸縮-阿裏雲
應用(APP)__使用手冊(調用API)_API 網關-阿裏雲
RAM策略編輯器__常用工具_對象存儲 OSS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲