10

申し訳ありませんが、質問に関する情報はあまりありません。

約80Kのレコードを保持する単一のMySQLMySIAMエンジンテーブルがあります(継続的に増加します)。今日は突然応答を停止します。

単一のクエリ(たとえば)を実行することさえできませんSELECT * FROM table LIMIT 1。サーバーは実行に時間を費やすだけで、停止することはないように見えます。

テーブルをダンプしてバックアップを作成できません。

ただし、同じデータベース内の別のテーブル、同じエンジン(MySIAM)は正常に機能しています。

ここからどこへ行けばいいのかわからない。それがデッドロックか何かかわからない。

そのテーブルのすべてのデータは本当に重要です。私が問題を特定するのを助けるためにあなたの方向を指し示すことは本当にありがたいです。たとえば、テーブルがどのような理由で破損しているかを確認するコマンドはありますか?


UPDATE :::::CHECK TABLEどちらも使用できません。また、実行時間も永遠にかかります。

更新::::私は調査を行い、REPAIRTABLEについて何かを思いついた。ただし、最初にバックアップを実行することをお勧めします。このテーブルに戻ることはできないので、とにかくREPAIRコマンドを使用しても大丈夫ですか?


:::::::::::::解決済み::::::::::::

Cristianの助けに従って、SHOW PROCESSLIST;コマンドを使用します。別のプロセスを保持する状態が「tmpテーブルにコピー中」のプロセスがあることがわかります。だから私はKILL <process id>そのプロセスを殺し、すべてが正常に解放されたのに使用します。

乾杯シャノン

4

1 に答える 1

7

申し訳ありませんが、あなたの質問にコメントすることはできません... :)

正確にどのバージョンのMySQLを実行していますか?5.1.xx?

ステータスを投稿できSHOW PROCESSLIST;ますか?

更新:シャノン、このイベントの後、この問題を防ぐために、MySQLを「tmpテーブルにコピー」状態で送信するクエリを確認して最適化する必要があります。これにより、一時的な速度の低下と「ディスクフル」のリスクを回避できます。パーティション。

于 2012-09-10T06:38:39.610 に答える