關於MySQL資料移轉--data目錄直接替換注意事項的詳解

來源:互聯網
上載者:User

近日更換伺服器,要做資料庫遷移,將資料庫內的資料從伺服器A遷移到伺服器B。
由於資料量較大,直接做dump耗時太長,故而採用如下方式處理:
首先,在伺服器B上安裝了與伺服器A同版本的MySQL,停止MySQL服務,將安裝後的data目錄刪除;
然後,伺服器A鎖住全部表,從伺服器A將整個data目錄和資料檔案直到拷貝到伺服器B上,修改伺服器B上MySQL的my.cnf檔案中的datadir指向新的data目錄。
最後,啟動伺服器B上的MySQL服務。
結果啟動失敗,報出 “無法啟動MySQL服務”異常,查看錯誤記錄檔,發現問題描述如下:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 63963136 bytes
InnoDB: than specified in the .cnf file 0 6291456 bytes!
這段資訊的意思是記錄檔比my.cnf中設定的記錄檔配額要大,服務不能啟動。原因是記錄檔從伺服器A複製而來,在伺服器A上的my.cnf中日誌配額要比伺服器B上的my.cnf日誌配額大,
計算記錄檔大小:63963136/(1024*1024)=61M,6291456/(1024*1024)=6M,怪不得呢?
將伺服器B上的my.cnf中的innodb_log_file_size的參數設定為61M,再次啟動mysql,啟動成功。

總結需要注意事項:
1.修改datadir為新的data目錄。
2.合理修改innodb_log_file_size的值為實際遷移過來的記錄檔大小。
3.字元集/預設引擎的修改,要與遷移前統一。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.