mysqlv8.0 通过idb文件恢复数据

 关于MySQL数据迁移的问题,对于一个有千万级别的数据,文件可能几十个GB,如何高效的迁移,是一个很大的问题,、

最好的方式是直接迁移idb文件,前提条件是两个数据库是相同的版本。

一、建立一张和需要还原的空表,表结构要一致

二、找到当前mysql目录下的data文件夹下对应的数据库,里面有当前创建的表,例如 spider_48_bdxs_url.idb,不要删除

三、执行sql语句命令:ALTER TABLE 表名 DISCARD TABLESPACE

四、此时把需要还原的数据替换到刚才的目录下,

  注意事项:此时需要给拷贝过来的 spider_48_bdxs_url.idb 文件授权

 

    执行命令是: chmod 777 spider_48_bdxs_url.ibd 

 

    

 

 

五、再次执行sql命令:ALTER TABLE 表名 IMPORT TABLESPACE

 

此时 数据还原成功

 

posted @ 2022-04-01 16:13  淋哥  阅读(1292)  评论(0编辑  收藏  举报