數(shù)據(jù)復制服務(wù) (Data Replication Service,簡稱DRS)支持將本地MySQL 數(shù)據(jù)庫 的 數(shù)據(jù)遷移 至本云 云數(shù)據(jù)庫MySQL 實例。通過DRS提供的實時 遷移 任務(wù),實現(xiàn)在 數(shù)據(jù)庫遷移 過程中業(yè)務(wù)和數(shù)據(jù)庫不停機,業(yè)務(wù)中斷時間最小化。
本章節(jié)主要介紹了通過DRS將本地MySQL數(shù)據(jù)庫實時遷移至本云 云數(shù)據(jù)庫 MySQL的任務(wù)配置流程。支持以下網(wǎng)絡(luò)類型:
· VPN( Virtual Private Network , 虛擬專用網(wǎng)絡(luò) )網(wǎng)絡(luò)
· 公網(wǎng)網(wǎng)絡(luò)
網(wǎng)絡(luò)示意圖


遷移流程

遷移建議(重要)
· 數(shù)據(jù)庫遷移與環(huán)境多樣性和人為操作均有密切關(guān)系,為了確保遷移的平順,建議您在進行正式的數(shù)據(jù)庫遷移之前進行一次演練,可以幫助您提前發(fā)現(xiàn)問題并解決問題,如何最小化對數(shù)據(jù)庫的影響請參考如下建議。
· 強烈建議您在啟動任務(wù)時選擇“稍后啟動”功能,將啟動時間設(shè)置在業(yè)務(wù)低峰期,相對靜止的數(shù)據(jù)可以有效提升一次性遷移成功率,避免遷移對業(yè)務(wù)造成性能影響。
遷移準備
1、權(quán)限準備:
當使用 DRS 將本地數(shù)據(jù)庫的數(shù)據(jù)遷移到本云云數(shù)據(jù)庫MySQL 實例時,在不同遷移類型情況下,對源數(shù)據(jù)庫和目標數(shù)據(jù)庫的帳號權(quán)限要求如表1所示:
|
遷移類型 |
全量遷移 |
全量+增量遷移 |
|---|---|---|
|
源數(shù)據(jù)庫 |
SELECT、SHOW VIEW、EVENT。 |
SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 |
|
目標數(shù)據(jù)庫 |
SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、WITH GRANT OPTION。 |
SELECT、CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、WITH GRANT OPTION。 |
· 源數(shù)據(jù)庫的權(quán)限設(shè)置:
需要確保源數(shù)據(jù)庫MySQL的帳號具備表1的權(quán)限,若權(quán)限不足,需要在源數(shù)據(jù)庫端創(chuàng)建高權(quán)限的帳號。
· 目標數(shù)據(jù)庫的權(quán)限設(shè)置:
本云云數(shù)據(jù)庫MySQL使用初始帳號即可。
2、網(wǎng)絡(luò)準備:
· 源數(shù)據(jù)庫的網(wǎng)絡(luò)設(shè)置:
本地MySQL數(shù)據(jù)庫實時遷移至本云云數(shù)據(jù)庫MySQL的場景,一般可以使用VPN網(wǎng)絡(luò)和公網(wǎng)網(wǎng)絡(luò)兩種方式進行遷移,您可以根據(jù)實際情況為本地MySQL數(shù)據(jù)庫開放公網(wǎng)訪問或建立VPN訪問。一般推薦使用公網(wǎng)網(wǎng)絡(luò)進行遷移,該方式下的數(shù)據(jù)遷移過程較為方便和經(jīng)濟。
· 目標數(shù)據(jù)庫的網(wǎng)絡(luò)設(shè)置:
a)若通過VPN訪問,請先開通華為VPN服務(wù),確保源數(shù)據(jù)庫MySQL和目標端本云云數(shù)據(jù)庫MySQL的網(wǎng)絡(luò)互通。
b)若通過公網(wǎng)網(wǎng)絡(luò)訪問,本云云數(shù)據(jù)庫MySQ L實例 不需要進行任何設(shè)置。
3、安全規(guī)則準備:
a)源數(shù)據(jù)庫的安全規(guī)則設(shè)置:
· 若通過公網(wǎng)網(wǎng)絡(luò)進行遷移,源數(shù)據(jù)庫MySQL需要將DRS遷移實例的 彈性公網(wǎng)IP 添加到其網(wǎng)絡(luò)白名單內(nèi),使源數(shù)據(jù)庫與本云的網(wǎng)絡(luò)互通。在設(shè)置網(wǎng)絡(luò)白名單之前,需要獲取DRS遷移實例的彈性 公網(wǎng)IP ,具體方法如下:
DRS遷移實例創(chuàng)建成功后,可在“源庫及目標庫”頁面獲取DRS遷移實例的彈性公網(wǎng)IP。

· 若通過VPN網(wǎng)絡(luò)進行遷移,源數(shù)據(jù)庫MySQL需要將DRS遷移實例的私有IP添加到其網(wǎng)絡(luò)白名單內(nèi),使源數(shù)據(jù)庫與本云的網(wǎng)絡(luò)互通。DRS遷移實例創(chuàng)建成功后,可在“源庫及目標庫”頁面獲取DRS遷移實例的私有IP。
以上白名單是為了進行遷移針對性設(shè)置的,遷移結(jié)束后可以刪除。
b)目標 數(shù)據(jù)庫安全 規(guī)則設(shè)置:
目標數(shù)據(jù)庫默認與DRS遷移實例處在同一個VPC,網(wǎng)絡(luò)是互通的,DRS可以直接寫入數(shù)據(jù)到目標數(shù)據(jù)庫,不需要進行任何設(shè)置。
4、其他事項準備。
DRS支持部分與業(yè)務(wù)和性能強相關(guān)的參數(shù)遷移,具體參數(shù)列表請參見參數(shù)列表。若涉及其他參數(shù)需要根據(jù)用戶具體的業(yè)務(wù)進行手動設(shè)置。
遷移步驟
以下操作以公網(wǎng)網(wǎng)絡(luò)遷移的方式為例,指導您通過DRS將本地MySQL數(shù)據(jù)庫實時遷移至本云云數(shù)據(jù)庫MySQL。
1、創(chuàng)建遷移任務(wù)。
a)登錄管理控制臺,在服務(wù)列表中選擇,進入數(shù)據(jù)復制服務(wù)信息頁面。
b)在“實時遷移管理”頁面,單擊右上角“創(chuàng)建遷移任務(wù)”,進入遷移任務(wù)信息頁面。
c)在“遷移實例”頁面,填選任務(wù)信息和遷移實例信息。

|
參數(shù) |
描述 |
|---|---|
|
區(qū)域 |
當前所在區(qū)域,可進行切換。 |
|
任務(wù)名稱 |
任務(wù)名稱在4-50位之間,必須以字母開頭,不區(qū)分大小寫,可以包含字母、數(shù)字、中劃線或下劃線,不能包含其他的特殊字符。 |
|
描述 |
描述不能超過256位,且不能包含! = < > & ' " \ 特殊字符。 |
|
任務(wù)異常通知設(shè)置 |
該項為可選參數(shù),開啟之后,選擇對應(yīng)的 SMN 主題,。當同步任務(wù)狀態(tài)異常時,系統(tǒng)將發(fā)送通知。 |
|
SMN主題 |
“任務(wù)異常通知設(shè)置”項開啟后可見,需提前在SMN上申請主題并添加訂閱。 |
|
時延閾值 |
在增量同步階段,源數(shù)據(jù)庫和目標數(shù)據(jù)庫之間的同步有時會存在一個時間差,稱為時延,單位為秒。 時延閾值設(shè)置是指時延超過一定的值后(時延閾值范圍為1—3600s),DRS可以發(fā)送告警通知給指定收件人。告警通知將在時延穩(wěn)定超過設(shè)定的閾值6min后發(fā)送,避免出現(xiàn)由于時延波動反復發(fā)送告警通知的情況。 說明:
· 首次進入增量同步階段,會有較多數(shù)據(jù)等待同步,存在較大的時延,屬于正常情況,不在此功能的監(jiān)控范圍之內(nèi)。 · 設(shè)置時延閾值之前,需要設(shè)置任務(wù)異常通知。 |
|
任務(wù)異常自動結(jié)束時間(天) |
設(shè)置任務(wù)異常自動結(jié)束天數(shù),輸入值必須在14-100之間。 說明:
異常狀態(tài)下的任務(wù)仍然會計費,而長時間異常的任務(wù)無法續(xù)傳和恢復。設(shè)置任務(wù)異常自動結(jié)束天數(shù)后,異常且超時的任務(wù)將會自動結(jié)束,以免產(chǎn)生不必要的費用。 |
d)在“源庫及目標庫”信息頁面,遷移實例創(chuàng)建成功后,填選源庫信息和目標庫信息,建議您單擊“源庫和目標庫”處的“測試連接”,分別測試并確定與源庫和目標庫連通后,勾選協(xié)議,單擊“下一步”。

|
參數(shù) |
描述 |
|---|---|
|
IP地址或域名 |
配置源數(shù)據(jù)庫MySQL實例的訪問地址或域名。 |
|
端口 |
配置源數(shù)據(jù)庫MySQL實例的服務(wù)端口,可輸入范圍為1~65535間的整數(shù)。 |
|
數(shù)據(jù)庫用戶名 |
訪問源數(shù)據(jù)庫MySQL的用戶名。 |
|
數(shù)據(jù)庫密碼 |
訪問源數(shù)據(jù)庫MySQL的用戶名所對應(yīng)的密碼。 |
|
SSL安全連接 |
在選擇公網(wǎng)網(wǎng)絡(luò)進行遷移任務(wù)時,為了提升數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中的安全性,建議您開啟SSL安全連接,對遷移鏈路進行加密,如果開啟,需要您上傳CA證書。 |
|
參數(shù) |
描述 |
|---|---|
|
數(shù)據(jù)庫實例名稱 |
默認為創(chuàng)建遷移任務(wù)時選擇的已創(chuàng)建的MySQL實例,不可進行修改。 |
|
數(shù)據(jù)庫用戶名 |
訪問目標端MySQL實例的用戶名。 |
|
數(shù)據(jù)庫密碼 |
訪問目標端MySQL實例的用戶名所對應(yīng)的密碼。 |
|
所有Definer遷移到該用戶下 |
· 是 遷移后,所有源數(shù)據(jù)庫對象的Definer都會遷移至該用戶下,其他用戶需要授權(quán)后才具有數(shù)據(jù)庫對象權(quán)限,如何授權(quán)請參考《數(shù)據(jù)復制服務(wù)常見問題》中的MySQL遷移中Definer強制轉(zhuǎn)化后如何維持原業(yè)務(wù)用戶權(quán)限體系章節(jié)。 · 否 遷移后,將保持源數(shù)據(jù)庫對象Definer定義不變,選擇此選項,需要配合下一步用戶權(quán)限遷移功能,將源數(shù)據(jù)庫的用戶全部遷移,這樣才能保持源數(shù)據(jù)庫的權(quán)限體系完全不變。 |
e)在“遷移設(shè)置”頁面,設(shè)置流速模式、遷移用戶和遷移對象。

f)在“預檢查”頁面,進行遷移任務(wù)預校驗,校驗是否可進行任務(wù)遷移。
· 查看檢查結(jié)果,如有不通過的檢查項,需要修復不通過項后,單擊“重新校驗”按鈕重新進行遷移任務(wù)預校驗。
預檢查不通過項處理建議請參見《數(shù)據(jù)復制服務(wù)用戶指南》中的“預檢查不通過項修復方法”。
· 預檢查完成后,且所有檢查項結(jié)果均成功時,單擊“下一步”。

說明:所有檢查項結(jié)果均通過時,若存在待確認項,需要閱讀并確認后才可以繼續(xù)執(zhí)行下一步操作。
g)進入“參數(shù)對比”頁面,進行參數(shù)對比。
· 若您選擇不進行參數(shù)對比,可跳過該步驟,單擊頁面右下角“下一步”按鈕,繼續(xù)執(zhí)行后續(xù)操作。
· 若您選擇進行參數(shù)對比,請參照如下的步驟操作。
一般情況下,對于常規(guī)參數(shù),如果源庫和目標庫存在不一致的情況,建議將目標數(shù)據(jù)庫的參數(shù)值通過“一鍵修改”按鈕修改為和源庫對應(yīng)參數(shù)相同的值。

對于性能參數(shù),您可以根據(jù)業(yè)務(wù)場景,自定義源數(shù)據(jù)庫和目標庫的參數(shù)值,二者結(jié)果可以一致也可以不一致。
· 若您需要將對比結(jié)果一致的性能參數(shù)修改為不一致,需要在“目標庫值調(diào)整為”一列手動輸入結(jié)果,單擊左上角“一鍵修改”按鈕,即可將源數(shù)據(jù)庫和目標數(shù)據(jù)庫對應(yīng)的性能參數(shù)值改為不一致。
· 若您想將對比結(jié)果不一致的參數(shù)改為一致結(jié)果,請參考如下流程進行修改:
1、對齊源庫和目標庫的參數(shù)值。
當源庫和目標庫對應(yīng)的參數(shù)值出現(xiàn)不一致時,選擇需要修改的參數(shù),單擊“一鍵對齊”按鈕,系統(tǒng)將幫您自動填充目標數(shù)據(jù)庫的參數(shù)值,使其和源庫對應(yīng)的參數(shù)值保持一致。

說明:對齊參數(shù)值的操作,您也可以通過手動輸入結(jié)果。
2、修改參數(shù)值。
源庫和目標庫的不一致參數(shù)值對齊后,單擊“一鍵修改”按鈕,系統(tǒng)將按照您當前設(shè)置的目標庫參數(shù)值進行修改。修改完成后,目標庫的參數(shù)值和對比結(jié)果會自動進行更新。

部分參數(shù)修改后無法在目標數(shù)據(jù)庫立即生效,需要重啟才能生效,此時的對比結(jié)果顯示為“待重啟,不一致”。建議您在遷移任務(wù)啟動之前重啟目標數(shù)據(jù)庫,或者遷移結(jié)束后選擇一個計劃時間重啟。如果您選擇遷移結(jié)束后重啟目標數(shù)據(jù)庫,請合理設(shè)置重啟計劃時間,避免參數(shù)生效太晚影響業(yè)務(wù)的正常使用。
在進行參數(shù)對比功能時,您可以參見《數(shù)據(jù)復制服務(wù)用戶指南》中“參數(shù)對比列表”進行參數(shù)設(shè)置。
3、參數(shù)對比操作完成后,單擊“下一步”。
h)在“任務(wù)確認”頁面,選擇遷移任務(wù)的啟動時間,單擊“啟動任務(wù)”,提交遷移任務(wù)。
建議您結(jié)合定時啟動功能,選擇業(yè)務(wù)低峰期開始運行遷移任務(wù),相對靜態(tài)的數(shù)據(jù),遷移時復雜度將會降低。如果遷移不可避免業(yè)務(wù)高峰期,推薦使用遷移限速功能,即“流速模式”選擇“限速”。
i)遷移任務(wù)提交后,您可以返回“實時遷移管理”頁面,查看遷移任務(wù)狀態(tài)。
2、任務(wù)管理。
遷移任務(wù)啟動后,會經(jīng)歷全量遷移和增量遷移兩個階段,對于不同階段的遷移任務(wù),您可以進行任務(wù)管理。
· 全量遷移
【查看遷移進度】全量遷移中的任務(wù),您可單擊任務(wù)名稱,在“遷移進度”頁簽下,查看全量遷移進度,您可以查看結(jié)構(gòu)、數(shù)據(jù)、索引遷移的進度,也查看具體遷移對象的遷移進度。當全量遷移進度顯示為100%,表示全量遷移已經(jīng)完成。
【查看遷移明細】遷移明細中,您可以查看具體遷移對象的遷移進度,當“對象數(shù)目”和“已遷移對象”相等時,表示該對象已經(jīng)遷移完成,可通過“查看詳情”查看每個對象的遷移進度。僅白名單用戶該支持功能,您可以通過提交工單的方式進行申請使用。
· 增量遷移
【查看時延監(jiān)控】全量遷移完成后,開始進行增量遷移。對于增量遷移中的任務(wù),您可單擊任務(wù)名稱,在“遷移進度”頁簽下,查看增量遷移同步時延,當時延為0s時,說明源數(shù)據(jù)庫和目標數(shù)據(jù)庫的數(shù)據(jù)是實時同步的。您也可以使用“遷移對比”頁簽查看一致性。

【查看遷移對比】為了盡可能減少業(yè)務(wù)的影響和業(yè)務(wù)中斷時間,增量遷移中的任務(wù),您可單擊任務(wù)名稱,在“遷移對比”頁簽下,建議按照如下流程進行遷移對比,以便確定合適的業(yè)務(wù)割接時機。

具體的遷移對比操作及注意事項請參考《數(shù)據(jù)復制服務(wù)用戶指南》中“對比遷移項”章節(jié)。
3、割接建議。
建議您選擇一個業(yè)務(wù)低峰期,開始正式系統(tǒng)割接流程。割接前,請您確認至少在業(yè)務(wù)低峰期有過一次完整的數(shù)據(jù)對比??梢越Y(jié)合數(shù)據(jù)對比的“稍后啟動”功能,選擇業(yè)務(wù)低峰期進行數(shù)據(jù)對比,以便得到更為具有參考性的對比結(jié)果。由于同步具有輕微的時差,在數(shù)據(jù)持續(xù)操作過程中進行對比任務(wù),可能會出現(xiàn)少量數(shù)據(jù)不一致對比結(jié)果,從而失去參考意義。
a)先中斷業(yè)務(wù)(如果業(yè)務(wù)負載非常輕,也可以嘗試不中斷業(yè)務(wù))。
b)在源數(shù)據(jù)庫端執(zhí)行如下語句,并觀察在1-5分鐘內(nèi)若無任何新會話執(zhí)行SQL ,則可認為業(yè)務(wù)已經(jīng)完全停止。
show processlist
說明:上述語句查詢到的進程列表中,包括DRS遷移實例的連接,您需要確認除DRS遷移實例的連接外無任何新會話執(zhí)行SQL,即可認為業(yè)務(wù)已經(jīng)完全停止。
c)通過DRS遷移任務(wù)監(jiān)控頁面進行觀察同步時延,保持實時同步時延為0,并穩(wěn)定保持一段時間;同時,您可以使用數(shù)據(jù)級對比功能,進行割接前的最后一次數(shù)據(jù)級對比,耗時可參考之前的對比記錄。
· 如果時間允許,則選擇全部對比。
· 如果時間不允許,則推薦對比活躍表,關(guān)鍵業(yè)務(wù)表,第二步對比多次存在差異的表等。
d)確定系統(tǒng)割接時機,業(yè)務(wù)系統(tǒng)指向本云數(shù)據(jù)庫,業(yè)務(wù)對外恢復使用,遷移完成。
4、遷移結(jié)束。
a)結(jié)束遷移任務(wù):業(yè)務(wù)系統(tǒng)和數(shù)據(jù)庫切換至本云后,為了防止源數(shù)據(jù)庫的操作繼續(xù)同步到目標數(shù)據(jù)庫,造成數(shù)據(jù)覆蓋問題,此時您可選擇結(jié)束遷移任務(wù),該操作僅刪除了遷移實例,遷移任務(wù)仍顯示在任務(wù)列表中,您可以進行查看或刪除。結(jié)束遷移任務(wù)后,DRS將不再計費。
b)刪除遷移任務(wù):對于已結(jié)束的遷移任務(wù),您可選擇刪除任務(wù)。該操作將一并刪除遷移任務(wù),刪除遷移任務(wù)后,該任務(wù)將不會出現(xiàn)在任務(wù)列表中。
- mysql數(shù)據(jù)庫入門_mysql數(shù)據(jù)庫備份命令_mysql數(shù)據(jù)庫導出
- mysql數(shù)據(jù)庫免費嗎_mysql在線數(shù)據(jù)庫_mysql數(shù)據(jù)庫下載
- 免費數(shù)據(jù)庫_免費在線mysql數(shù)據(jù)庫_mysql云數(shù)據(jù)庫_數(shù)據(jù)庫使用-華為云
- MySQL數(shù)據(jù)庫簡介_MySQL數(shù)據(jù)庫應(yīng)用_MySQL授權(quán)多個數(shù)據(jù)庫
- MySQLdump導入數(shù)據(jù)庫_MySQL建立數(shù)據(jù)庫_MySQL數(shù)據(jù)庫導出