RDS最佳實踐(二)—如何快速平穩的遷入RDS
在之前文章中中大致介紹RDS的一些基本參數,包括數據庫類型,版本,存儲空間,規格:內存,連接數,io,地域等基本含義,本篇中將介紹如何快速平穩的遷入RDS。
用戶在購買完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發生則會導致增量遷移失敗;
SQLSERVER工具遷移的原理:
第一步:備份用戶對本地數據庫進行物理備份;
第二步:備份上傳至RDS提供的ftp服務器上(ftp地址支持私網和公網上傳);
第三步:RDS掃描校驗用戶上傳備份文件通過後,恢複至用戶RDS;
第四步:用戶切換應用至RDS;
由於sqlserver目前還沒有開放日誌接口,所以RDS目前還不能支持在線遷移;
RDS目前不支持master庫的導入。
希望這篇文章對你使用RDS有幫助。
最後更新:2017-04-03 08:26:18