如何解决“错误130(HY000):不正确的文件格式”
答
相关的从第一连结部:
MySQL数据库,您可以定义不同的表不同的MySQL存储引擎 。存储引擎是用于存储 并检索数据的引擎。最流行的存储引擎是MyISAM和InnoDB。
MyISAM表 - 最终会损坏。这是生活中的事实。
幸运的是,在大多数情况下,MyISAM表损坏很容易修复。
要修复一个表,连接到你的MySQL数据库,并发出:
repair TABLENAME
要解决的一切,去:
/usr/local/mysql/bin/mysqlcheck --all-databases -uUSERNAME -pPASSWORD -r
很多时候,MyISAM表会得到腐败,除非您查看日志文件,否则您甚至不会知道 。
我强烈建议您将此行添加到您的/etc/my.cnf配置文件中。它 会自动只要他们成为腐败修复MyISAM表:
[mysqld] myisam-recover=backup,force
答
让我解释一下,我试图细节。
我在执行mysqldump后得到了这个“不正确的文件格式”。这与我们在服务器启动/查询表中存在问题类似。
我去了mysql/data/yourdatabasename文件夹并检查了表。 (对于MYISAM类型的表,我们有.frm,.MYI,.MYD。)我发现表只有tablename.frm。所以我只是将它移动了一部分,因为它不再需要,因为缺少.MYI和.MYD文件。对于遇到不正确的文件格式问题的更多表,我做了同样的操作。
在我的情况下,我删除的表不是MYI/MYD,有些表没有数据。在做任何这些之前,请确保两种情况。如果您使用可用数据表,则最终会删除所删除的表的数据丢失。
答
类型 repair table 'table_name' use_frm
在SQL编辑器中执行它。这修复了索引。良好的工作...
好的谢谢修复没有工作我的我会创建一个新的数据库;-) – Kohan95 2010-11-28 22:53:06
是所有这一次仍然有效的链接?我认为你应该更新答案添加相关部分 – davejal 2016-02-15 11:22:07