MariaDB / MySQL数据库表损坏,无法修复

时间:2014-11-11 18:32:05

标签: mysql mariadb

我有一个特定的表格导致问题。 phpmyadmin说这是“在使用中”。

当我尝试修理时: data_members.am_page 错误:文件中的信息不正确:'。/ data_members / am_page.frm' 错误:损坏

表格是MyISAM

我应该如何尝试解决这个问题?

“错误:出现错误185'MariaDB .frm文件与存储引擎中的信息之间的密钥或行定义不兼容。您必须转储并恢复表以从MyISAM修复此问题

3 个答案:

答案 0 :(得分:1)

尝试以下方法:

首先检查所有正在运行的查询以及您的表可能使用的可能连接。你可以通过

来做到这一点
SHOW PROCESSLIST;

它为您提供所有正在运行的查询/连接。您可以通过

终止查询/连接
KILL <id>;

之后修复你的表

REPAIR TABLE myTable;

尝试多次运行此操作,直到您的状态返回为ok。之后

OPTIMIZE TABLE myTable:

然后你可以再次使用该表。

祝你好运!

答案 1 :(得分:0)

  

MariaDB&gt;修理表tetra2cur;

     

表| Op | Msg_type | Msg_text

     

tetrawikidb.tetra2cur |修理|错误|得到错误185&#39; MariaDB .frm文件与存储引擎中的信息之间的密钥或行定义不兼容。你必须转储和恢复表来解决这个问题。来自MyISAM |

     

tetrawikidb.tetra2cur |修理|错误|腐败

因此修理台没有帮助。使用5.5.39-MariaDB

不要该怎么做。降级为前MariaDb版本。这些数据库我可能没有检查过#34;从mysql迁移到mariadb时。 或者使用mysql和mysqldump?

答案 2 :(得分:-1)

在复制旧数据库快照时,我遇到了相同的错误消息。对我有用的是:

REPAIR TABLE myTable USE_FRM;

希望有所帮助!