關於MySQL數據遷徙--data目次直代替換留意事項的詳解。本站提示廣大學習愛好者:(關於MySQL數據遷徙--data目次直代替換留意事項的詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是關於MySQL數據遷徙--data目次直代替換留意事項的詳解正文
近日改換辦事器,要做數據庫遷徙,將數據庫內的數據從辦事器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.字符集/默許引擎的修正,要與遷徙前同一。