idb是innodb数据文件

frm是innodb表结构文件

在数据库的data目录下可以看到 data下的目录名就是数据库名,打开该数据库文件夹对于一个表有2个文件,一个以idb结尾,一个以frm结尾

直接复制粘贴是不识别的,提示找不到该表

解决方法:

下载 MySQL Utilities https://downloads.mysql.com/archives/utilities/

安装后找到安装目录,

打开命令行,输入

mysqlfrm.exe --server=root:123456@localhost --user=root --port=3009 D:\phpstudy_pro\Extensions\MySQL5.7.26\data\2\2.frm

经过漫长的等待,表结构出来了。

  1. 利用表结构创建表

  1. 执行 ALTER TABLE 表名 DISCARD TABLESPACE

  1. 停止mysql服务 将备份.idb文件复制到对应的数据量目录下

  1. ALTER TABLE 表名 IMPORT TABLESPACE;

  1. 搞定

若step4 提示has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format,删除表,重新执行,新建的时候把row_format=COMPACT;

更多推荐