使用MySQL的实现方法。FRM恢复数据表结构
在这里,我们探讨恢复InnoDB和MyISAM型表使用FRM文件的结构,但由于其存储引擎的特点,恢复方法是不同的。下面是详细的恢复过程。
myisamchk XXX。FRMmyisamchk可以尝试,和图书馆不是一个MyISAM类型
1:恢复InnoDB类型的数据表结构
我们先从测试数据目录复制文件到另一个innodb.frm图书馆(InnoDB)
复制代码代码如下所示:
>使用MySQL InnoDB;
数据库更改
MySQL InnoDB表>>显示;
错误1146(42s02):table'innodb innodb'doesn不存在。
这表明,复制的文件是不能直接使用的,然后我们建立了一个图书馆(TMP)和设置innodb类型表本库。
复制代码代码如下所示:
创建数据库;
MySQL InnoDB创建表>>(` ID ` int(11)不为空))= InnoDB引擎
默认的字符集utf8;
那么我们是innodb.frm TMP数据目录下复制InnoDB下覆盖innodb.frm tmp目录下
让我们尝试重新启动MySQL
复制代码代码如下所示:
MySQL InnoDB表>>显示 G;
*************************** 1。行**********
InnoDB表:
表的创建:创建表(` InnoDB `
` DD ` varchar(1)不为空,
` CC ` varchar(1)不为空
InnoDB引擎=默认的字符集utf8)
1行集(0秒)
误差:
没有查询指定
MySQL InnoDB >插入(DD,CC)值(1,2);
查询OK,1行受影响(0秒)
>选择*从MySQL InnoDB;
错误2013(hy000):在查询过程中丢失连接到MySQL服务器
因此数据结构可以看出,但不能说,嗯,这是使用。FRM恢复InnoDB类型的表结构
2:恢复MyISAM类型的数据表结构
它很容易恢复MyISAM类型,我看下面的步骤
首先,同上,从测试数据目录,复制一个test.frm的TMP库的数据目录
复制代码代码如下所示:
使用TMP;
显示创建表测试;
错误1017(hy000):找不到文件:测试(错误:2)
我们找不到文件。我们将处理下面的错误。我们将创建test.myi和temp.myd在TMP数据目录文件。然后,我们将使用MySQL自己的修复表命令。
复制代码代码如下所示:
MySQL >修表测试use_frm;
+ + + + ------------------ -------- ---------- ---------- +
表格运算msg_type | | | | msg_text |
+ + + + ------------------ -------- ---------- ---------- +
test.test_myisam修复状态| | | |好|
+ + + + ------------------ -------- ---------- ---------- +
1行集(0秒)
显示创建表测试;
*************************** 1。行**********
表:测试
创建表:创建表(测试)
` DD ` varchar(1)不为空,
` CC ` varchar(1)不为空
= MyISAM引擎默认的字符集utf8)
1行集(0秒)
误差:
没有查询指定
插入测试(DD,cc)值(1,2);
查询OK,1行受影响(0秒)
从测试中选择*;
------ + +
| DD | CC
------ + +
| 1 | 2
------ + +
1行集(0秒)
这个表结构也被看到了