資料庫遷移常見的四種方法

  • 2019 年 11 月 26 日
  • 筆記

數據的遷移就像搬家,基本每個用過手機的人都做過數據遷移,將舊智慧手機中的電話號碼、照片、微信聊天記錄導入到另一台新的智慧手機。因此數據遷移並不神秘。在上雲的過程中,因數據的量更大、數據重要性更大、專業性更強,因此在公有雲上誕生了「雲遷移」這項目服務,在公有雲市場也有上百個雲服務商專業做「雲遷移」服務。今天我們來講三種常用的雲資料庫遷移方法。

一、為什麼做雲遷移?

1、更換伺服器、更換雲服務商。如,某台伺服器故障,需要更換為新伺服器;從私有雲環境更換為公有雲環境。

2、應用的數據器升級、更換類型。如,將oracle更換為mysql。

可以說做雲遷移,就像更換手機一樣,發生的概率還是挺高的,我們有必須要掌握必要的遷移技能。

二、雲遷移裡面最重要的是數據遷移

1、數據價值最高,不能丟失。應用伺服器里不帶有價值的數據,可以直接採用重新安裝或整盤拷貝的方式遷移,難度不大。但資料庫伺服器的數據可以說是整個企業的財產關鍵。

2、數據遷移的難度最大。資料庫的版本升級將可以帶來應用的不可用,因此遷移至新伺服器,如果使用了雲服務商的RDS,版本不一致,應用無法使用的概率挺大。

三、資料庫遷移總體有三種方法

我們今天以mysql為例,講講資料庫遷移的四種方法。

1、將資料庫倒出為sql文件,再重新導入(推薦)

首先將mysql資料庫鎖定,並將記憶體中的數據寫入磁碟。

用mysqldump將test資料庫導出為sql文件。

在新的資料庫伺服器上,新建test資料庫,再將sql文件導入。

該方法因採用sql命令進行資料庫遷移,兼容性最好,準確性最高,但速率最慢。

2、將資料庫的文件存檔目錄直接拷貝至新主機

可以直接將mysql存儲數據的目錄copy下來,用ftp等方式上傳至新主機的對應存儲數據的目錄下。該操作需要關閉兩端的資料庫服務,否則將產生錯誤。

該方法只支援myql的MyIASM的表引擎。該方法遷移速度快,但因Mysql默認採用inno引擎,適用場景少,且資料庫版本升級後出錯率高。

3、使用第三方資料庫遷移工具

mysql有很多第三方的資料庫遷移工具,如mysqlhotcopy。此類工具一般支援熱遷移(不中斷業務,實時寫數據),支援物理copy。

該方法遷移速度快,對業務中斷時間短,但建議遷移多進行模擬測試,避免意外事件。

甚至有一些第三方的遷移工具支援異構資料庫的遷移。

4、使用整盤遷移工具

採用雲主機的第三方遷移工具,將整個磁碟文件直接進行遷移。

該方法遷移速度快,對業務中斷時間短,但成本高,一般為收費工具。

四、小結

遷移就像搬家,如何保證搬家時間短、搬家途中不損壞或遺失物品、搬家過程更安全,產生了不同的遷移方法。

根據你家裡資產的情況,根據不同場景選擇搬家的方法,遷移也就是這回事。大家感覺如何?