复制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) 

相关文章
相关标签/搜索