2016-11-09 65 views
1

MariaDB/InnoDBでインデックスの破損に問題があります。今日、私はMariaDB/InnoDB:インデックスの破損 - なぜですか?

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

を2つのインデックスに対して取得し、そのテーブルのいずれかにINSERTしようとするとDBがクラッシュした後に発生します。私はインデックスを落として再作成することでこれを修正しましたが、今度は2回目です(最後の6つのインデックスが影響を受けました)ので、私は知りたいです:なぜ私のインデックスが壊れていますか?

私の唯一の出発点は、どちらもMariaDBを1時間または2時間前に(apt-getで)更新したことです。しかし、私がMariaDBに関する問題を開く前に、私は他の考えられる理由を調べることを好む。

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

EDIT:もう一度やります。今回は更新後ではなく、長い実行クエリ(大きなテーブルのDROP PRIMARY KEYは79秒かかります)の後に実行されます。しかし、テーブルAで長時間実行されているクエリが、テーブルBでインデックス破損を引き起こす可能性はありますか?私のハードディスクに欠陥がありますか?それはMariaDB/InnoDBの問題ですか?または...?

答えて

0

MyISAMを使用している場合は、InnoDBに切り替えます。テーブルの上にコピーして、すべてのインデックスを再構築します

ALTER TABLE tbl ENGINE=InnoDB; 

この

は別の方法を「修理」テーブルです。

DROP PRIMARY KEYは、InnoDBで「悪い」ものです。なぜあなたはそれをやっていたのか詳しく説明できますか?

+0

私はすでにInnoDBを使用しています。 PKをドロップするのは1回限りのアクションでしたが、私はこのレギュラーをやっていません。 – Heiko

+0

PKを変更するときは、 'DROP'と' ADD'を1つの 'ALTER'で行うのが最善です。さもなければ、2回の作業を行う必要があります。 –

関連する問題