Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  MyISAM テーブル保守スケジュールのセットアップ

7.6.5 MyISAM テーブル保守スケジュールのセットアップ

問題が発生するのを待つより、テーブルチェックを定期的に実行することをお勧めします。MyISAM テーブルをチェックまたは修復する 1 つの方法は、CHECK TABLE および REPAIR TABLE ステートメントを使用することです。セクション13.7.2「テーブル保守ステートメント」を参照してください。

テーブルをチェックする別の方法は、myisamchk を使用することです。保守の目的には、myisamchk -s を使用できます。-s オプション (--silent の短縮形) により、サイレントモードで myisamchk が実行され、エラーが発生した場合のみ、メッセージが出力されます。

自動 MyISAM テーブルチェックを有効にすることをお勧めします。たとえば、マシンが更新の途中で再起動を実行した場合、通常、影響を受けた可能性のある各テーブルが使用される前に、それをチェックする必要があります。(これらは予期されるクラッシュしたテーブルです。) サーバーにMyISAM テーブルを自動的にチェックさせるには、それを --myisam-recover-options オプションを付けて起動します。セクション5.1.3「サーバーコマンドオプション」を参照してください。

通常のシステム操作時にも定期的にテーブルをチェックしてください。たとえば、crontab ファイル内の次のような行を使用して、週 1 回 cron ジョブを実行し、重要なテーブルをチェックします。

35 0 * * 0 /path/to/myisamchk --fast --silent /path/to/datadir/*/*.MYI

これはクラッシュしたテーブルに関する情報を出力するため、テーブルを調査し、必要に応じて修復できます。

はじめに、過去 24 時間中に更新されたすべてのテーブルに対して、毎晩 myisamchk -s を実行します。その問題がまれにしか発生しないことがわかったら、チェックの頻度を週 1 回などに減らすことができます。

通常、MySQL テーブルはほとんど保守が必要ありません。動的サイズの行のある MyISAM テーブル (VARCHARBLOB、または TEXT カラムのあるテーブル) に何回も更新を実行するか、または多くの削除された行のあるテーブルがある場合、ときどきテーブルの領域をデフラグ/再利用する必要がある場合があります。これは、問題のテーブルに OPTIMIZE TABLE を使用して実行できます。または、しばらくの間、mysqld サーバーを停止できる場合は、サーバーの停止中に、場所をデータディレクトリ内に変更し、次のコマンドを使用します。

shell> myisamchk -r -s --sort-index --myisam_sort_buffer_size=16M */*.MYI

User Comments
Sign Up Login You must be logged in to post a comment.