複製MySQL數據庫A到另一個MySQL數據庫B(僅僅針對innodb數據庫引擎)

方案一:(不用太大的變化my.ini文件)數據庫

  1. copy 原數據庫A中的   數據庫(database)  ib_logfile1  ib_logfile0   ibdata1;spa

  2. 關閉目的數據庫B;innodb

  3.  備份目的數據庫B中的  ib_logfile1  ib_logfile0   ibdata1 三個文件,防止更改後不能使用數據庫;file

  4. 將copy 來的原數據庫A中的  ib_logfile1  ib_logfile0   ibdata1 放置在目的數據庫B相應的位置 ,若是您目的數據庫中的  ib_logfile倆個文件的大小和copy來的文件大小同樣,直接粘貼就能夠;數據

  5.  從新啓動數據庫Bdb

方案二:(須要更改my.ini文件)tab

  1. copy 原數據庫A中的   數據庫(database)  ib_logfile1  ib_logfile0   ibdata1;文件

  2. 關閉目的數據庫B;備份

  3. 若是您目的數據庫B中的ib_logfile倆個文件的大小和copy來的文件大小不同,備份目的數據庫B中的  ib_logfile1   ib_logfile0   ibdata1 三個文件,防止更改後不能使用數據庫, 刪除目的數據庫下的  ib_logfile1  ib_logfile0 文件,更改my.ini 文件中的innodb_log_file_size 爲原數據庫中 ib_logfile1  ib_logfile0 文件大小eg.     innodb_log_file_size=90M ;copy

  4.  重啓數據庫B;
     成功後,刪除重啓數據庫B的 ib_logfile1  ib_logfile0 ,將copy 來的 ib_logfile1  ib_logfile0 粘貼過來(或者用copy 來的 ib_logfile1  ib_logfile0 替換現有數據庫B中的 ib_logfile1  ib_logfile0 便可);

  5.  粘貼 數據庫(database)   ibdata1 到相應的位置;
     從新啓動數據庫B

PS:目的就是保證     一、數據庫(database)  ib_logfile1  ib_logfile0   ibdata1;必須同時複製的,也就是說不能在你複製的過程當中還有別的操做來操做你要複製的數據庫。(這樣複製過來的數據可能有crash) 

相關文章
相關標籤/搜索