innochecksum は、InnoDB
ファイルのチェックサムを出力します。このツールは InnoDB
テーブルスペースファイルを読み取って各ページのチェックサムを計算し、計算されたチェックサムを保存されているチェックサムと比較して不一致をレポートします。不一致はページが破損していることを示します。元は、停電後にテーブルスペースの完全性の検証を迅速化するために開発されましたが、ファイルコピーのあとにも使用できます。チェックサムの不一致があると、InnoDB
は稼働中のサーバーを意図的にシャットダウンするため、本番稼働しているサーバーが破損したページに遭遇するのを待つのではなく、このツールを使用することが推奨されます。MySQL 5.6.16 では、innochecksum は 2G バイトを超えるサイズのファイルをサポートしています。以前は、innochecksum は 2G バイトまでのサイズのファイルだけをサポートしていました。
innochecksum は、サーバーがすでにオープンしているテーブルスペースファイルには使用できません。このようなファイルに関しては、CHECK TABLE
を使用してテーブルスペース内のテーブルをチェックするとよいでしょう。
チェックサムの不一致が検出された場合、通常はバックアップからテーブルスペースをリストアするか、またはサーバーを起動して、mysqldump を使用してテーブルスペース内のテーブルのバックアップを作成します。
innochecksum は次のように起動します。
shell> innochecksum [options] file_name
innochecksum は次のオプションをサポートします。ページ番号を参照するオプションについては、数字はゼロベースです。