Mysql 的MYISAM引擎拷贝出现异常——Incorrect information in file 'xxx.frm'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 的MYISAM引擎拷贝出现异常——Incorrect information in file 'xxx.frm'相关的知识,希望对你有一定的参考价值。

MYISAM引擎有三个文件 

    .FRM    存储表结构

    .MYD    存储数据

    .MYI   存储索引

    当复制表时,将这三个文件同时复制到指定目录下。

异常处理:

1. Incorrect information in file ‘xxx.frm‘

    无论怎么复制重启,访问数据库都会出现这个问题。

  解决办法:表使用MyISAM引擎,并且创建表结构(已知情况下),

    备份,x.frm,x.MYI,x.MYD三个文件,

    mysql data目录删除 一般是/var/lib/mysql目录下

    再次创建表

    复制 .MYD .MYI文件到数据目录。然后重启mysql服务


2. Incorrect key file for table ‘xxx.MYI‘;try to repair it.

   执行下面步骤

#myisamchk -of ./xxx.MYI #第一步
#myisamchk -r ./xxx.MYI  #第二步
#myisamchk ./xxx.MYI   #第三步

    重启mysql服务

service mysql restart

    登陆Mysql后,操作表发现还是出现上述异常,则执行一下操作

mysql> repair table hosts use_frm;
+---------------+--------+----------+-------------------------------------+
| Table         | Op     | Msg_type | Msg_text                            |
+---------------+--------+----------+-------------------------------------+
| hdmysql.hosts | repair | warning  | Number of rows changed from 0 to 18 |
| hdmysql.hosts | repair | status   | OK                                  |
+---------------+--------+----------+-------------------------------------+

    修复表后面一定要加上 use_frm

    注:若采用下面的方式,则可能出现一直不能修复

mysql> repair table hosts;
+---------------+--------+----------+--------------------------------------------------------+
|Table         | Op     | Msg_type | Msg_text                                               |
+---------------+--------+----------+--------------------------------------------------------+
| hdmysql.hosts | repair | Error    | Incorrect key file for table ‘hosts‘; try to repair it |
| hdmysql.hosts | repair | error    | Corrupt                                                |
+---------------+--------+----------+--------------------------------------------------------+


本文出自 “不忘初心” 博客,请务必保留此出处http://zh9526.blog.51cto.com/3051209/1875745

以上是关于Mysql 的MYISAM引擎拷贝出现异常——Incorrect information in file 'xxx.frm'的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中InnoDB和MyISAM两种引擎

MySql性能调优一(存储引擎InnoDB,MyISAM)

关于mysql数据库引擎MyIsam的表锁理解

(MariaDB/MySQL)MyISAM存储引擎读写操作的优先级

面试常问之——Mysql引擎中MyISAM和InnoDB的区别有哪些?

Mysql存储引擎Myisam小结