MySQL MyISAM表结构的恢复

数据库 MySQL
MySQL数据库的表结构恢复的方法不止一种,下文对MyISAM类型的表恢复方法进行了详尽的阐述,希望对您能有所帮助。

MySQL MyISAM表结构的恢复方法是怎样的呢?这是很多人都提过的问题,下面就为您详细介绍MySQL MyISAM表结构的恢复方法,供您参考。

MySQL MyISAM类型的表恢复相对比较简单。

同样先假定需要恢复的表的FRM文件为test_myisam.frm,表结构为

  1. mysql> create table test_myisam  
  2.     -> (A int(11) default NULL,  
  3.     -> B varchar(30) default NULL,  
  4.     -> C date default NULL) engine=myisam;  
  5. Query OK, 0 rows affected (0.05 sec)  
  6.  

恢复过程如下:

1. 直接将test_myisam.frm拷贝到正常数据库对应的数据目录下。这时测试

  1. mysql> show tables;  
  2. +--------------+  
  3. | Tables_in_aa |  
  4. +--------------+  
  5. | test_innodb |  
  6. | test_myisam |  
  7. +--------------+  
  8. 3 rows in set (0.00 sec)  
  9.  
  10. mysql> desc test_myisam;  
  11. ERROR 1017 (HY000): Can't find file: 'test_myisam' (errno: 2)  
  12.  

发现只能通过show tables命令看见表名,但是表结构还是没有恢复,desc命令报错。

2. 在与test_myisam.frm同一目录建立以下2个文件,文件内容可以为空:

test_myisam.MYD test_myisam.MYI

3. 在MYSQL命令行使用MYSQL本身的数据表恢复命令repair命令恢复表,如下:

  1. mysql> repair table test_myisam USE_FRM;  
  2. +-----------------+--------+----------+----------+  
  3. | Table           | Op     | Msg_type | Msg_text |  
  4. +-----------------+--------+----------+----------+  
  5. | aa.test_myisam | repair | status   | OK       |  
  6. +-----------------+--------+----------+----------+  
  7. 1 row in set (0.00 sec)  
  8.  

根据结果可以知道,恢复命令执行成功,下边用desc命令测试下:

  1. mysql> desc test_myisam;  
  2. +-------+-------------+------+-----+---------+-------+  
  3. | Field | Type        | Null | Key | Default | Extra |  
  4. +-------+-------------+------+-----+---------+-------+  
  5. | A     | int(11)     | YES |     | NULL    |       |  
  6. | B     | varchar(30) | YES |     | NULL    |       |  
  7. | C     | date        | YES |     | NULL    |       |  
  8. +-------+-------------+------+-----+---------+-------+  
  9. 3 rows in set (0.02 sec)  
  10.  

果然恢复成功了。

 

 

【编辑推荐】

MySQL多表联合查询语法示例

MySQL表别名的另类用法

MySQL左连接查询经验总结

显示MYSQL表信息的方法

三种常用的MySQL建表语句

 

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-23 12:39:05

MySQL InnoD

2010-11-22 13:45:43

MySQL表存储结构

2010-05-21 18:07:56

MySQL 表种类

2010-10-15 10:29:25

Mysql表结构

2010-11-23 09:13:47

mysql修改表结构

2012-03-20 11:16:24

MySQLMyISAM

2010-05-21 10:14:10

MySQL更改表结构

2010-10-13 10:42:14

MySQL修改表结构

2010-10-13 10:34:49

MySQL修改表结构

2018-06-14 10:44:59

MySQLMyISAMInnoDB

2010-05-21 16:10:28

2010-05-11 15:06:24

MySQL MyISA

2019-06-11 16:11:16

MySQLMyISAMInnoDB

2010-10-13 10:27:35

MySQL修改表结构

2010-10-13 10:03:08

MySQL修改表结构

2010-05-18 18:19:40

MySQL修改表结构

2010-05-21 16:23:52

MySQL MyISA

2010-11-23 11:27:53

MySQL MyISA

2009-05-19 09:58:41

MyISAMInnoDB存储引擎

2011-08-11 11:27:11

MySQLalter table
点赞
收藏

51CTO技术栈公众号