用戶在購買完RDS后,接下來就可以開始往RDS遷入數據了。在RDS剛剛對外提供服務的時候,用戶只能通過將自己的數據庫dump成為sql文件,然后再將sql文件source到RDS中去:數據遷移至RDS-mysql之使用MySQLdump工具,數據遷移至RDS-SQLSERVER之利用SQL Server客戶端工具,這兩種方法是最簡單的方法,但是局限性也非常的多:
.用戶的數據庫太大了,邏輯sql導入的方式速度太慢了,嚴重影響停機時間;
.在導入的過程中報錯很多,或者導入一半的過程中中斷了,需要重新來過;
.在遷入RDS過程中,希望我的數據庫還能能正常提供服務;
大量的用戶入云全部堵在遷移數據上面,用戶與RDS的緣分就差么這臨門一腳。工欲善必先利其器,為了更好的幫助用戶入云,RDS對現有的用戶入云遷移方式進行改進,幫助用戶快速穩定遷移入云,分別為用戶提供了mysql和sqlserver兩套改良遷移工具:
.mysql遷移工具支持在線遷移,用戶可以不中斷業務的情況下把數據遷移到RDS中來;
.sqlserver的遷移工具采用物理備份的方法,將用戶的物理備份上傳到FTP中后還原到RDS,提升遷移的速度;
這兩套工具目前都已經集成到了RDS的控制臺中,可以參考:數據遷移至RDS-MySQL之使用阿里云控制臺和 數據遷移至RDS-SQLserveru阿里云控制臺.
很多用戶在控制臺上看到的只是一個黑盒子,在工單中多次咨詢遷移的原理,在這里大致講一下這兩個工具的遷移實現:
Mysql在線遷移的原理:
第一步:預檢查,主要是驗證用戶網絡的通暢性,賬號和環境的檢查;
第二步:全量備份,該步驟會把用戶的數據全量的dump出一份出來,然后還原到RDS;
第三步:增量遷移,該步驟會解析用戶全量期間以及后續產生的binlog應用到RDS;
第四步:切換,當RDS的數據完全追上用戶的數據庫后,用戶就可以開始進行切換了;
Mysql的在線遷移工具目前還有一些限制,比如:
mysql 5.0只支持全量遷移,不支持增量遷移;
不支持mysql5.6的遷移;不支持存儲過程,觸發器的遷移;
遷移過程中如果有ddl發生則會導致增量遷移失?。?/p>
SQLSERVER工具遷移的原理:
第一步:備份用戶對本地數據庫進行物理備份;
第二步:備份上傳至RDS提供的ftp服務器上(ftp地址支持私網和公網上傳);
第三步:RDS掃描校驗用戶上傳備份文件通過后,恢復至用戶RDS;
第四步:用戶切換應用至RDS;
由于sqlserver目前還沒有開放日志接口,所以RDS目前還不能支持在線遷移;
RDS目前不支持master庫的導入。
希望這篇文章對你使用RDS有幫助。