《Mysql應(yīng)用關(guān)于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項的詳解》要點:
本文介紹了Mysql應(yīng)用關(guān)于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項的詳解,希望對您有用。如果有疑問,可以聯(lián)系我們。
近日更換服務(wù)器,要做數(shù)據(jù)庫遷移,將數(shù)據(jù)庫內(nèi)的數(shù)據(jù)從服務(wù)器A遷移到服務(wù)器B.
由于數(shù)據(jù)量較大,直接做dump耗時太長,故而采用如下方式處理:
首先,在服務(wù)器B上安裝了與服務(wù)器A同版本的MySQL,停止MySQL服務(wù),將安裝后的data目錄刪除;
然后,服務(wù)器A鎖住全部表,從服務(wù)器A將整個data目錄和數(shù)據(jù)文件直到拷貝到服務(wù)器B上,修改服務(wù)器B上MySQL的my.cnf文件中的datadir指向新的data目錄.
最后,啟動服務(wù)器B上的MySQL服務(wù).
結(jié)果啟動失敗,報出 “無法啟動MySQL服務(wù)”異常,查看錯誤日志,發(fā)現(xiàn)問題描述如下:
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中設(shè)置的日志文件配額要大,服務(wù)不能啟動.原因是日志文件從服務(wù)器A復(fù)制而來,在服務(wù)器A上的my.cnf中日志配額要比服務(wù)器B上的my.cnf日志配額大,
計算日志文件大小:63963136/(1024*1024)=61M,6291456/(1024*1024)=6M,怪不得呢?
將服務(wù)器B上的my.cnf中的innodb_log_file_size的參數(shù)設(shè)置為61M,再次啟動mysql,啟動成功.
總結(jié)需要注意事項:
1.修改datadir為新的data目錄.
2.合理修改innodb_log_file_size的值為實際遷移過來的日志文件大小.
3.字符集/默認(rèn)引擎的修改,要與遷移前統(tǒng)一.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/3337.html