多くのデータベース (~30) をホストしている mysql サーバー (5.0.58) があります。数年前、いくつかのデータベースでパフォーマンスの問題が発生し始めましたが、最終的には、次のコマンドを使用して夜間の cron ジョブを実行してデータベースをチェック/最適化することで解決しました。
mysqlcheck --check --auto-repair --analyze --optimize --silent --all-databases
通常、このコマンドは 20 分ほどで実行されます。先月まで、これは魔法のように機能していました。このコマンドを実行すると、マシンの CPU が急上昇し、マシンはほとんど応答しなくなります。私にできる唯一のことは、mysqld サービスを再起動することです (ログインするためだけに 10 ~ 15 分待った後)。その際にmysqlのプロセス一覧を見ると、一部のテーブルもロックされているようですが、まだ調査中です。
このコマンドがサーバーをロックアップする理由を知っている人はいますか? これが役立つかどうかを確認するために、(--all-databases ではなく) 特定のデータベースにコマンドを制限しようと計画しています。