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 リファレンスマニュアル  /  ...  /  チェックサムの高速化のための CRC32 チェックサムアルゴリズムの使用

14.13.15 チェックサムの高速化のための CRC32 チェックサムアルゴリズムの使用

MySQL 5.6.3 で導入された CRC32 チェックサムアルゴリズムは、ブロックを 1 回につき 32 ビットスキャンします。これは、ブロックを 1 回につき 8 ビットスキャンする InnoDB のチェックサムアルゴリズムに対する改善です。CRC32 チェックサムアルゴリズムは、innodb_checksum_algorithm=crc32 を設定することによって有効にすることができます。

注記

同様に MySQL 5.6.3 で導入された innodb_checksum_algorithm 構成パラメータによって、innodb_checksums 構成パラメータが置き換えられます。詳細は、innodb_checksum_algorithm のドキュメントを参照してください。

CRC32 アルゴリズムが有効になっている場合、InnoDB によってディスクに書き込まれるデータブロックのチェックサムフィールドには、以前とは異なる値が含まれています。テーブルスペース内のブロックが CRC32 チェックサムアルゴリズムを使用するように変更されたあと、関連付けられたテーブルを以前のバージョンの MySQL で読み取ることはできません。

新しい MySQL インスタンスを設定するときに、すべての InnoDB データが CRC32 チェックサムアルゴリズムを使用して作成されている場合は、innodb_checksum_algorithm=strict_crc32 設定を使用できます。これは、古い値と新しい値の両方をサポートするための余分なチェックサム計算を実行しないため、crc32 設定より高速である可能性があります。

innodb_checksum_algorithm のデフォルト値は MySQL 5.6.6 で innodb から crc32 に変更されましたが、以前の MySQL バージョンへのダウングレード中の InnoDB データファイルの互換性向上のため、および MySQL Enterprise Backup で使用するために 5.6.7 で innodb に戻されました。検出された制限には、次のものが含まれます。

  • CRC32 チェックサムを含む .ibd ファイルは、5.6.3 より前の MySQL バージョンへのダウングレード中に問題が発生する可能性があります。MySQL 5.6.3 以降では、ディスクからブロックを読み取るとき、そのブロックの新しいチェックサム値と古いチェックサム値のどちらも正しいとして認識します。それにより、アルゴリズムの設定には関係なく、アップグレードおよびダウングレード中にそのデータブロックの互換性を保証します。新しいチェックサム値で書き込まれたデータが 5.6.3 より前のレベルの MySQL によって処理された場合は、破損しているとしてレポートされる可能性があります。

  • 3.8.0 までのバージョンの MySQL Enterprise Backup は、CRC32 チェックサムを使用するテーブルスペースのバックアップをサポートしていません。MySQL Enterprise Backup は、CRC32 チェックサムのサポートを 3.8.1 で (いくつかの制限付きで) 追加しています。詳細は、MySQL Enterprise Backup 3.8.1 の変更履歴を参照してください。


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