關(guān)于MySQL數(shù)據(jù)遷移--data目錄直接替換注意事項的詳解
更新時間:2013年06月29日 15:07:39 作者:
本篇文章是對關(guān)于MySQL數(shù)據(jù)遷移--data目錄直接替換的注意事項進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
近日更換服務(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日志配額大,
計算日志文件大?。?3963136/(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)一。
由于數(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日志配額大,
計算日志文件大?。?3963136/(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)一。
您可能感興趣的文章:
相關(guān)文章
解析數(shù)據(jù)庫分頁的兩種方法對比(row_number()over()和top的對比)
本篇文章是對數(shù)據(jù)庫分頁的兩種方法對比(row_number()over()和top的對比)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
MySQL切分函數(shù)substring()的具體使用
這篇文章主要介紹了MySQL切分函數(shù)substring()的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)
下面小編就為大家?guī)硪黄獪\談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
解決mysql報錯:1264-Out of range value for&nb
這篇文章主要介紹了解決mysql報錯:1264-Out of range value for column ‘字段‘ at row 1問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
linux mysql 數(shù)據(jù)庫開啟外部訪問設(shè)置指南
Linux下設(shè)置MySQL和允許外部機器訪問,具體目錄是具體情況而定,有的人是安裝了在個人目錄下,則找到對應(yīng)的目錄則可以2012-11-11
mysql添加索引方法詳解(Navicat可視化加索引與sql語句加索引)
索引用來快速地尋找那些具有特定值的記錄,如果沒有索引,執(zhí)行查詢時MySQL必須從第一個記錄開始掃描整個表的所有記錄,直至找到符合要求的記錄,表里面的記錄數(shù)量越多,代價就越高,下面這篇文章主要給大家介紹了關(guān)于mysql添加索引的相關(guān)資料,需要的朋友可以參考下2022-11-11

