如何从.ibd文件重新创建MySQL InnoDB表?

时间:2010-04-08 08:48:10

标签: mysql innodb disaster-recovery

假设已从备份磁带恢复以下MySQL文件:

  • tablename.frm
  • tablename.ibd

此外,假设MySQL安装与innodb_file_per_table一起运行,并且数据库已被mysqladmin shutdown彻底关闭。

如果重新安装了与恢复的MySQL文件相同的MySQL版本,如何将数据from tablename.ibd / tablename.frm导入到这个新安装中?

4 个答案:

答案 0 :(得分:3)

这里回答类似的事情。 请看一看 https://stackoverflow.com/a/10943833/3985205

  

是的,这是可能的。仅将.frm文件复制到数据库文件夹是不够的,但您还需要将ib_logfiles和ibdata文件复制到数据文件夹中。我只是复制.frm文件并复制这些文件,然后重新启动服务器,我的数据库就恢复了。

答案 1 :(得分:0)

您必须将表格带入表空间:

https://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/restoring_individual_tables_ibk.html

ALTER TABLE mydatabase.tablename IMPORT TABLESPACE;

您还必须拥有exp / cfg文件。

答案 2 :(得分:0)

当您丢失ib_logfilesibdata文件并且您只有.frm.idb个文件时,我发布了正确的解决方案。

  

请查看我对此链接的评论:

     

Restore table structure from frm and ibd files

这对你也有用。

谢谢。

答案 3 :(得分:-1)

这并非在所有情况下都有效。 但是,是的,它在某种情况下有效...

首先停止与您使用的wamp或xampp相关的所有服务。

然后复制并通过tablename.frm,tablename.ibd

mysql / data / DATABASE NAME FOLDER下的

文件。 然后再次启动所有服务。在该DB下创建的平板电脑。