數據庫復制服務提供出云的功能,可以將本云上的數據庫遷移至用戶端數據庫,方便進行數據回流處理。
本章節將以RDS for MySQL到ECS自建MySQL的遷移為示例,介紹在同一VPC網絡場景下,通過數據庫復制服務管理控制臺配置數據遷移任務的流程,其他存儲引擎的配置流程類似。
VPC網絡適合本云內數據庫之間的遷移。在數據庫復制服務中,數據庫遷移是通過任務的形式完成的,通過創建任務向導,可以完成任務信息配置、任務創建。遷移任務創建成功后,您也可以通過數據庫復制服務管理控制臺,對任務進行管理。
目前數據庫復制服務支持每個用戶最多可創建5個實時遷移任務。
前提條件
已登錄數據庫復制服務控制臺。
賬戶余額大于等于100元。
滿足實時遷移支持的數據庫類型。
滿足出云遷移的限制條件。
操作步驟
1、在“實時遷移管理”頁面,單擊“創建遷移任務”,進入創建遷移任務頁面。
2、在“遷移實例”頁面,填任務名稱、任務異常通知設置、時延閾值、描述、遷移實例信息。
圖 遷移任務信息

表 任務和描述
參數
描述
任務名稱
任務名稱在4-50位之間,必須以字母開頭,不區分大小寫,可以包含字母、數字、中劃線或下劃線,不能包含其他的特殊字符。
任務異常通知設置
該項為可選參數,開啟之后,需要填寫手機號碼或者郵箱作為指定收件人。當遷移任務狀態異常時,系統將發送通知給指定收件人。
說明收到確認短信或郵件之后,需要在48小時內處理,否則該訂閱無效,將無法收到異常通知。
時延閾值
在增量遷移階段,源數據庫和目標數據庫之間的實時同步有時會存在一個時間差,稱為時延,單位為秒。
時延閾值設置是指時延超過一定的值后(時延閾值范圍為1—3600s),DRS可以發送告警通知給指定收件人。告警通知將在時延穩定超過設定的閾值6min后發送,避免出現由于時延波動反復發送告警通知的情況。
說明首次進入增量遷移階段,會有較多數據等待同步,存在較大的時延,屬于正常情況,不在此功能的監控范圍之內。
設置時延閾值之前,需要設置任務異常通知。
描述
描述不能超過256位,且不能包含! = < > & ' " \ 特殊字符。
圖 遷移實例信息

表 遷移實例信息
參數
描述
數據流動方向
選擇出云。
出云指源端數據庫為本云數據庫的場景。
源數據庫引擎
選擇MySQL。
目標數據庫引擎
選擇MySQL。
網絡類型
目前支持公網網絡、VPC網絡和VPN、專線網絡類型,您可以根據具體的業務場景進行設置,此處場景以VPC網絡為示例。
VPC網絡:適合云上數據庫之間的遷移。
VPN、專線網絡:適合通過VPN、專線網絡,實現其他云下自建數據庫與云上數據庫遷移、或云上跨Region的數據庫之間的遷移。
公網網絡:適合將其他云下或其他平臺的數據庫遷移到目標數據庫。
源數據庫實例
用戶需要遷移的數據庫實例。
遷移模式
全量:該模式為數據庫一次性遷移,適用于可中斷業務的數據庫遷移場景,全量遷移將非系統數據庫的全部數據庫對象和數據一次性遷移至目標端數據庫,包括:表、視圖、存儲過程等。
說明如果用戶只進行全量遷移時,建議停止對源數據庫的操作,否則遷移過程中源數據庫產生的新數據不會同步到目標數據庫。
全量+增量:該模式為數據庫持續性遷移,適用于對業務中斷敏感的場景,通過全量遷移過程中完成的目標端數據庫的初始化后,增量遷移階段通過解析日志等技術,將源端和目標端數據庫保持數據持續一致。
說明選擇“全量+增量”遷移模式,增量遷移可以在全量遷移完成的基礎上實現數據的持續同步,無需中斷業務,實現遷移過程中源業務和數據庫繼續對外提供訪問。
3、在“源庫及目標庫”頁面,遷移實例創建成功后,填選源庫信息和目標庫信息,并單擊“源庫和目標庫”處的“測試連接”,分別測試并確定與源庫和目標庫連通后,勾選協議,單擊“下一步”。
圖 源庫信息

表 源庫信息
| 參數 | 描述 |
|---|---|
| 數據庫實例名稱 | 默認為創建遷移任務時選擇的關系型數據庫實例,不可進行修改。 |
| 數據庫用戶名 | 源數據庫對應的數據庫用戶名。 |
| 數據庫密碼 | 源數據庫對應的數據庫密碼。任務為啟動中、全量遷移、增量遷移、增量遷移失敗狀態時,可在“基本信息”頁面的“遷移信息”區域,單擊“源庫密碼”后的“替換密碼”,在彈出的對話框中修改密碼。 |
說明源數據庫的用戶名和密碼將在遷移過程中被加密暫存到數據庫和遷移實例主機上,待該任務刪除后會永久清除。
圖 目標庫信息

表 目標庫信息
參數
描述
VPC
目標數據庫所在的虛擬專用網絡,可以對不同業務進行網絡隔離。
子網
通過子網提供與其他網絡隔離的、可以獨享的網絡資源,以提高網絡安全。子網在可用分區內才會有效,創建源數據庫實例的子網需要開啟DHCP功能,在創建過程中也不能關閉已選子網的DHCP功能。
IP地址或域名
目標數據庫的IP地址或域名。
端口
目標數據庫服務端口,可輸入范圍為1~65535間的整數。
數據庫用戶名
目標數據庫的用戶名。
數據庫密碼
目標數據庫的用戶名所對應的密碼。支持在任務創建后修改密碼。
任務為啟動中、全量遷移、增量遷移、增量遷移失敗狀態時,可在“基本信息”頁面的“遷移信息”區域,單擊“目標庫密碼”后的“替換密碼”,在彈出的對話框中修改密碼。
SSL安全連接
通過該功能,用戶可以選擇是否開啟對遷移鏈路的加密。如果開啟該功能,需要用戶上傳SSL CA根證書。
說明最大支持上傳500KB的證書文件。如果不使用SSL證書,請自行承擔數據安全風險。
所有Definer遷移到該用戶下
是
遷移后,所有源數據庫對象的Definer都會遷移至該用戶下,其他用戶需要授權后才具有數據庫對象權限。??
否
遷移后,將保持源數據庫對象Definer定義不變,選擇此選項,需要配合下一步用戶權限遷移功能,將源數據庫的用戶全部遷移,這樣才能保持源數據庫的權限體系完全不變。
說明:
目標數據庫的IP地址、端口、用戶名和密碼將在遷移過程中被加密暫存到數據庫和遷移實例主機上,待該任務刪除后會永久清除。
4、在“遷移設置”頁面,設置遷移用戶和遷移對象等信息,單擊“下一步”。
圖 遷移模式

表 遷移模式
參數
描述
快照模式
如果您選擇的是全量遷移模式的任務,數據庫復制服務支持設置快照模式。
非快照式
適用于停止業務數據寫入的導出,如果全量遷移中仍然有業務數據的修改,則導出數據為時間點非水平一致。穩定性和性能要優于快照式全量遷移。
快照式
可以在業務運行時產生一份時間水平一致的快照數據,具有業務數據分析價值,過程中的數據變化不會體現在導出數據中。
說明快照讀會使用MySQL備份鎖進行全局鎖表,在開啟一致性讀后自動解鎖(加鎖時間在3s以內),備份鎖會對此期間的DML或者DDL操作造成阻塞,建議用戶選擇源庫空閑的時間段使用快照備份功能。
目前僅MySQL全量模式的遷移任務支持快照模式設置。
是否過濾DROP DATABASE
增量遷移過程中,源數據庫端執行的DDL操作在一定程度上會影響數據的遷移能力,為了降低遷移數據的風險,數據庫復制服務提供了過濾DDL操作的功能。
目前支持默認過濾刪除數據庫的操作。
是,表示數據遷移過程中不會同步用戶在源數據庫端執行的刪除數據庫的操作。
否,則表示數據遷移過程中將相關操作同步到目標庫。
說明目前僅支持RDS for MySQL實例->MySQL數據庫數據庫的全量+增量的遷移場景。遷移用戶
數據庫的遷移過程中,遷移用戶需要進行單獨處理。
常見的遷移用戶一般分為三類:可完整遷移的用戶、需要降權的用戶和不可遷移的用戶。您可以根據業務需求選擇“遷移”或者“不遷移”,選擇“遷移”后,可根據需要選擇遷移用戶。
遷移
當您選擇遷移用戶時,請參見《數據庫復制服務用戶指南》中“遷移用戶”章節進行數據庫用戶、權限及密碼的處理。
不遷移
遷移過程中,將不進行用戶、權限和密碼的遷移。
遷移對象
您可以根據業務需求,選擇全部對象遷移、表級遷移或者庫級遷移。
全部遷移:將源數據庫中的所有對象全部遷移至目標數據庫,對象遷移到目標數據庫實例后,對象名將會保持與源數據庫實例對象名一致且無法修改。
表級遷移:將選擇的表級對象遷移至目標數據庫。
庫級遷移:將選擇的庫級對象遷移至目標數據庫。
如果有切換源數據庫的操作或源庫遷移對象變化的情況,請務必在選擇遷移對象前單擊右上角的按鈕,以確保待選擇的對象為最新源數據庫對象。
說明若選擇部分數據庫進行遷移時,由于存儲過程、視圖等對象可能與其他數據庫的表存在依賴關系,若所依賴的表未遷移,則會導致遷移失敗。建議您在遷移之前進行確認,或選擇全部數據庫進行遷移。
選擇對象的時候,對象名稱的前后空格不顯示,中間如有多個空格只顯示一個空格。選擇對象的時候支持搜索,以便您快速選擇需要的數據庫對象。
5、在“預檢查”頁面,進行遷移任務預校驗,校驗是否可進行遷移。
查看檢查結果,如有不通過的檢查項,需要修復不通過項后,單擊“重新校驗”按鈕重新進行遷移任務預校驗。
預檢查不通過項處理建議請參見《數據庫復制服務用戶指南》中的“預檢查不通過項修復方法”。
圖 預檢查

預檢查完成后,且預檢查通過率為100%時,單擊“下一步”。
說明所有檢查項結果均通過時,若存在待確認項,需要閱讀并確認詳情后才可以繼續執行下一步操作
6、在“任務確認”頁面,選擇遷移任務的啟動時間,并確認遷移任務信息無誤后,單擊“啟動任務”,提交遷移任務。
說明遷移任務的啟動時間可以根據業務需求,設置為“立即啟動”或“稍后啟動”,優選“稍后啟動”。
預計遷移任務啟動后,會對源數據庫和目標數據庫的性能產生影響,強烈建議您將任務啟動時間設定在業務低峰期,同時預留2-3天校對數據。
7、遷移任務提交后,您可在“實時遷移管理”頁面,查看并管理自己的任務。
您可查看任務提交后的狀態,狀態請參見參考:任務狀態含義。
在任務列表的右上角,單擊刷新列表,可查看到最新的任務狀態。