2012-06-17 51 views
4

144 - 表“我的表名”被标记为崩溃,最后一个(自动?)修复失败通过从phpMyAdmin的MySQL错误144恢复

我没有任何shell终端来访问我的表。

这怎么解决使用phpMyAdmin?

我已经运行了这一点:

CHECK TABLE [mytable name]; 
REPAIR TABLE [mytable name] USE_FRM; 
-- or without FRM. I got no response from this one. 
ANAYLZE TABLE [mytable name] 
+0

如果修复表格不起作用,那么只有打赌才能重新启动服务器。如果您在共享主机上,请要求您的提供者重新启动数据库服务器。 – Hardik

+0

您可以访问此链接获取答案: - http://dba.stackexchange.com/questions/12223/how-to-recover-mysql-table-structure-from-frm-files – NKM

+0

这是一个InnoDB表或一个崩溃的MyISAM表? – Michael

回答

4

尝试运行命令,'myisamchk -r',其目的是要降的无效行的MySQL表,并重建其索引文件。该实用程序有助于验证和修复损坏的MySQL数据库表。

运行‘myisamchk’实用程序后,运行“检查表”命令以验证MyISAM表是否有错误(如果有)。该命令的语法如下:

CHECK TABLE tbl_name [, tbl_name] ... [option] … 
option = {FOR UPGRADE | QUICK | FAST | MEDIUM | EXTENDED | CHANGED} 

如果问题仍然存在,您可以通过运行命令,“维修表”如下修复损坏的MySQL数据库表:

REPAIR [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM] 
+0

你说“删除无效行”。这是否意味着会有数据丢失?如果是这样,如何恢复没有数据丢失?我们是否应该考虑在这一点上恢复备份? – Wouter