`

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数据库备份和恢复

    - **数据/结构选择性导出**:`--no-create-info`和`--no-data`分别用于仅导出数据或仅导出表结构。 #### InnoDB与MyISAM表的备份差异 - **MyISAM表**:由于数据以文件形式存储,备份相对简单,可使用上述任何一种...

    MySQL实现MYISAM表批量压缩的方法

    本文将详细介绍如何在MySQL中批量压缩MYISAM表,并提供一个使用shell脚本的示例。 首先,我们要理解MYISAM表的压缩原理。MySQL提供了两个工具——myisampack和myisamchk,它们可以帮助我们完成表的压缩和解压缩。...

    MYSQL使用.frm恢复数据表结构的实现方法

    相较于InnoDB,MyISAM表的结构恢复更为简单直接。具体步骤如下: 1. **复制.frm文件**: - 同样地,从一个存在的MyISAM表目录(例如`test`数据库下的某个表)中复制`.frm`文件到另一个数据库(例如`tmp`)的数据...

    MySQL 备份和恢复

    对于MyISAM表,由于其存储为文件形式,备份相对简单,上述方法皆可适用。而InnoDB表则保存在一个或多个数据文件中,备份通常更复杂,可以采取复制数据文件、备份二进制日志(binlog)或使用`mysqldump`。 `...

    Mysql8.0 数据库恢复工具

    本软件适合于操作系统崩溃后将mysql数据目录拷贝出进行恢复,在恢复前需要使用之前备份的数据库结构新建空库,然后将还原文件的数据恢复到新库,目前只能恢复InnoDB引擎、MyISAM引擎 表。

    MySQL的备份和恢复机制

    * --no-data:不导出任何数据,只导出数据库表结构。 * --opt:是一个快捷选项,等同于同时添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-...

    UNIX下MySQL 备份和恢复

    恢复过程则涉及将备份的SQL脚本导入到MySQL服务器,或直接替换数据文件(对于MyISAM表)。对于InnoDB表,需要确保在恢复过程中遵循正确的顺序,特别是当涉及到binlog时,以避免数据不一致。 总之,UNIX环境下的...

    MySQL表误删PRIT非完整恢复 很实用

    4. **重建表结构**:根据查询到的元数据,可以手动创建相同的表结构,包括字段、主键、外键、索引等。 5. **利用`binlog`恢复数据**:使用`mysqlbinlog`工具,根据binlog的时间戳定位到误删表的DDL语句之前,并将...

    MySQL修改表结构操作命令总结

    在MySQL中,对数据库表结构进行修改是一项常见的任务,它涉及到数据库的设计优化或者为了满足新的业务需求。以下是对标题和描述中提及的各种修改表结构操作命令的详细解释: 1. **删除列**: 使用`ALTER TABLE`...

    mysql表结构设计(数据场景、设计规范、字段属性、表结构管理、数据管理).docx

    ### MySQL表结构设计详解 #### 一、数据场景 **1、表结构简介** 表结构设计是MySQL数据库设计的核心组成部分,它直接关系到数据的有效存储与高效查询。一个清晰合理的表结构不仅能够提升应用程序的性能,还能降低...

    frm文件结构恢复2.0.rar

    总结来说,“frm文件结构恢复2.0”是一个针对MySQL数据库的恢复策略,主要针对丢失或损坏的表结构。通过解析.frm文件,可以重建表的定义,但无法恢复数据,除非同时有对应的数据文件。在进行此类操作时,一定要谨慎...

    MySQL5.0常用命令与数据恢复.pdf

    - **显示表结构:** `DESCRIBE MYTABLE;` - **向表中添加记录:** `INSERT INTO MYTABLE VALUES ('hyq', 'M');` - **从文本文件导入数据到表:** `LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;` - **...

    MyISAM和InnoDB的异同

    - MyISAM使用固定的表结构,每个表都有自己的数据文件和索引文件;InnoDB使用表空间存储数据,所有表数据都存储在一个或多个共享的表空间文件中。 - InnoDB的这种设计使得它更适合于大型数据库应用,因为可以更...

    8.MySQL存储引擎--MyISAM与InnoDB区别1

    MySQL存储引擎--MyISAM与InnoDB区别 ...在InnoDB中,可以使用dump和binlog来恢复数据,而MyISAM则需要手动恢复数据。 MyISAM和InnoDB存储引擎都有其优缺点,选择哪种存储引擎取决于实际应用场景和需求。

    MySQL基础与实例教程教学进度表.doc

    5. **表结构管理与数据类型**:教授如何定义表结构,选择适合的数据类型,以及创建表结构。 6. **表记录操作**:包括插入(增)、删除(删)、更新(改)记录,以及索引的创建和使用,提高数据查询效率。 7. **...

    MySQL 工具myisamchk进行表的维护和崩溃恢复

    `myisamchk`作为MySQL提供的一个强大工具,对于维护和恢复MyISAM表具有不可替代的作用。通过了解其基本使用方法和注意事项,DBA和开发者可以更加高效地管理和优化MySQL数据库。在未来,虽然MySQL的发展重点已经转向...

Global site tag (gtag.js) - Google Analytics