MySQL數據庫遷移(數據文件直接遷移)

MySQL數據庫遷移(數據文件直接遷移) sql

在今年10月下旬的時候,公司的服務器須要遷移,其中涉及到了MySQL數據庫遷移。查看了一下MySQL數據文件的大小,接近60G的大小(實際數據並沒用那麼多)。因爲服務器上業務須要,要儘可能減小服務器遷移時的損失。因此遷移時間選在了晚上零點開始,並且要儘可能減小遷移所用的時間。 數據庫

在遷移以前有三種方案: 服務器

  1. 數據庫直接導出,拷貝文件到新服務器,在新服務器上導入。
  2. 使用【MySQL GUI Tools】中的 MySQLMigrationTool。
  3. 數據文件和庫表結構文件直接拷貝到新服務器,掛載到一樣配置的MySQL服務下。 網絡

我在個人電腦上用虛擬機測試後,選中了佔用時間最少的第三種方案。下面是三種方案的對比: 測試

    第一種方案的優勢:會重建數據文件,減小數據文件的佔用空間。
    第一種方案的缺點:時間佔用長。(導入導出都須要很長的時間,而且導出後的文件還要通過網絡傳輸,也要佔用必定的時間。) spa

    第二種方案的優勢:設置完成後傳輸無人值守
    第二種方案的缺點: 操作系統

    1. 設置繁瑣。
    2. 傳輸中網絡出現異常,不能及時的被發現,而且會一直停留在數據傳輸的狀態不能被中止,如不仔細觀察不會被發現異常。 
    3. 傳輸相對其餘fang時間長。 
    4. 異常後很難從異常的位置繼續傳輸。

    第三種方案的優勢:時間佔用短,文件可斷點傳輸。操做步驟少。(絕大部分時間都是在文件的網絡傳輸)
    第三種方案的缺點:可能引發未知問題,暫時未發現。 orm

下面介紹一下第三種方案d遷移步驟虛擬機

  1. 保證Mysql版本一致,安裝配置基本一致(注意:這裏的數據文件和庫表結構文件都指定在同一目錄data下
  2. 中止兩邊的Mysql服務(A服務器--遷移-->B服務器)
  3. 刪除B服務器Mysql的data目錄下全部文件
  4. 拷貝A服務器Mysql的data目錄下除了ib_logfile.err以外的文件到B服務器data下
  5. 啓動B服務器的Mysql服務,檢測是否發生異常

遷移完成後,服務啓動正常,未發現其餘異常問題。 io

data文件夾文件列表以下:

最終:服務器遷移60G的數據文件所用時間約爲3.5小時

MySQL版本:5.1 操做系統:win2003

相關文章
相關標籤/搜索