MariaDB/MySQL数据库表损坏,Can';t修复

MariaDB/MySQL数据库表损坏,Can';t修复,mysql,mariadb,Mysql,Mariadb,我有一个引起问题的特定表格。phpmyadmin说它“正在使用” 当我尝试修复时: data_members.am_页面 错误:文件“./data\u members/am\u page.frm”中的信息不正确 错误:已损坏 表为MyISAM 我应该如何着手解决这个问题 “错误:获取错误185”“MariaDB.frm文件与存储引擎中的信息之间的键或行定义不兼容。您必须转储并还原表以修复此问题”“从MyISAM”尝试以下操作: 首先检查表可能使用的所有正在运行的查询和可能的连接。你可以这样做 S

我有一个引起问题的特定表格。phpmyadmin说它“正在使用”

当我尝试修复时: data_members.am_页面 错误:文件“./data\u members/am\u page.frm”中的信息不正确 错误:已损坏

表为MyISAM


我应该如何着手解决这个问题

“错误:获取错误185”“MariaDB.frm文件与存储引擎中的信息之间的键或行定义不兼容。您必须转储并还原表以修复此问题”“从MyISAM”

尝试以下操作:

首先检查表可能使用的所有正在运行的查询和可能的连接。你可以这样做

SHOW PROCESSLIST;
这将为您提供所有正在运行的查询/连接。您可以通过以下方式终止查询/连接:

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

OPTIMIZE TABLE myTable:
然后你可以再次使用这张桌子

祝你好运

MariaDB>修复表tetra2cur

表| Op | Msg|u类型| Msg|u文本

tetrawikidb.tetra2cur |修复|错误|获取错误185’MariaDB.frm文件与存储引擎中的信息之间的键或行定义不兼容。您必须从MyISAM转储并还原表以修复此问题|

tetrawikidb.tetra2cur |修复|错误|损坏

因此,维修表并没有帮助。使用5.5.39-1

不知道该怎么做。降级到以前的版本。在从mysql迁移到mariadb时,我可能没有对这些数据库进行足够的检查。
或者使用mysql和mysqldump?

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

REPAIR TABLE myTable USE_FRM;

希望有帮助

你的问题是什么?我应该如何着手解决这个问题?我想你必须“转储并恢复表”>修复表tetra2cur use_frm;>tetra2cur | repair | error |无法修复非常旧的.frm文件,因为数据文件格式在不同版本之间发生了更改。请使用mysqldump在旧系统中转储该表,并使用mysql或mysqlimport将其读入此系统|因此,use_frm也不起作用。请删除此旧表。自1.4版(即2006年版)以来,mediawiki中不再使用cur表(替换为page)!!当您的表损坏时,永远不会有任何保证和ymmv。不用说,在尝试修复之前,请始终进行备份。
REPAIR TABLE myTable USE_FRM;