MariaDB / InnoDB:索引损坏 - 为什么?

时间:2016-11-09 10:19:01

标签: innodb mariadb database-indexes

我在MariaDB / InnoDB上遇到索引损坏问题。今天,我得到了

InnoDB: Error: Flagged corruption of <index> in <table> in CHECK TABLE; Wrong count

对于2个索引,并且在DB崩溃后尝试INSERT到其中一个表中。我已经通过删除和重新创建索引来解决这个问题,但它现在是第二次(上次有6个指数受到影响),所以我想知道:为什么我的指数会损坏?

我唯一的出发点是,两次我都提前1或2小时更新了MariaDB(通过apt-get)。但在我在MariaDB上打开一个问题之前,我更愿意检查其他可能的原因。

# mysql -V
mysql  Ver 15.1 Distrib 10.1.19-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

编辑:重新开始。这次不是在更新之后,而是在长时间运行的查询之后(大表上的DROP PRIMARY KEY,需要79秒)。但是表A上长时间运行的查询如何导致表B上的索引损坏?我的硬盘有缺陷吗?它是MariaDB- / InnoDB问题吗?或者......?

1 个答案:

答案 0 :(得分:0)

如果您使用的是MyISAM,请切换到InnoDB。

这是“修复”表格的另一种方法:

ALTER TABLE tbl ENGINE=InnoDB;

将复制表并重建所有索引。

DROP PRIMARY KEY对InnoDB来说是一件坏事。你能详细说明你为什么这么做吗?

相关问题