時々、テーブルのインデックスが壊れてしまい、DBが100%のCPU負荷を消費してしまい、しばらく時間がかかりすぎてしまいます。単純なクエリでさえ完了せず、再起動しても役立たない。InnoDB:インデックスの破損と修正
私が見つけたのは、インデックスを1つずつ削除して再作成することです(これは時間がかかり、多くの調査が必要かもしれません)。疑わしいテーブルにalter table mytable engine=innodb;
を呼び出すだけです。これは実際にはかなりうまく動作し、すべてが修正され、すべて正常に戻ります。しかし、私は実際に何がバックグラウンドで起こっているのか、なぜそれが役立つのか分かりません。また、手動で1か月に1回行うのも助かりますか?これを自動化することをお勧めしますか?いくつかのDBヘルスチェックを行う方法はありますか?
MySQLの最新バージョンを実行していますか?完全なダンプを試しましたか、DBのスクラッチビルドリストアを試しましたか?他のマシンで問題を再現できますか?バグの多いソフトウェアや不具合のあるハードウェアを扱っている可能性があります。 – tadman
はい、これはおおよそ年に1回、別のマシンにあった前回に発生します。私はDebianで最新のPerconaを実行しています。 –
MariaDBとMySQLを試してみて、それが問題であるか、ペルコナのサポートに連絡してみる価値があります。 – tadman