オペレーティングシステムやハードウェアによって、データベースエラーにならなくても、mysqlbackup の実行を妨げる場所で、データファイルページを破損させることがあります。
mysqlbackup: Re-reading page at offset 0 3185082368 in /sqldata/mts/ibdata15
bbackup: Re-reading page at offset 0 3185082368 in /sqldata/mts/ibdata15
bbackup: Error: page at offset 0 3185082368 in /sqldata/mts/ibdata15 seems corrupt!
破損の問題にはさまざまな原因がある可能性があります。ここに、その処理に関するいくつかの提案を示します。
-
この問題は、MySQL サーバーが著しくビジーな場合に発生する可能性があります。ほかの解決方法を試してみる前に、次の mysqlbackup オプションのデフォルト以外の設定を使用して、バックアップを再度実行した方がよい場合があります。
--page-reread-time
=MS
。たとえば、チェックサムの失敗時に、再読み取りを速くするために、値を 「0.05」 に設定してみます。--page-reread-count
=retry_limit
。たとえば、チェックサムの失敗時に、MySQL Enterprise Backup が中断し、エラーを生成するまでの再読み取りを増やすために、値を 「1000」 に設定してみます。
メモリー内で混乱したデータによって、ディスク上のデータが実際に破損していなくても、問題が発生することがあります。データベースサーバーとストレージデバイスをリブートし、問題が続くかどうかを確認します。
データベースサーバーとストレージデバイスを再起動した後に、問題が続く場合は、実際にディスクに破損がある可能性があります。以前のバックアップからデータをリストアし、最近の変更を「巻き戻し」して、データベースをその最新状態に戻すことを考慮できます。
-
問題の原因を調査する前に、MySQL Enterprise Backup でとにかくバックアップを終了させたい場合は、サーバーで innochecksum ユーティリティーを実行して、ディスク上のチェックサム値を書き換えることができます。
innochecksum --no-checksum --write=crc32
オプション
--no-checksum
はツールの検証機能を無効にし、オプション--write=crc32
は innochecksum にディスク上のチェックサム値を書き換えさせます。
重要: 破損の問題を小さな問題として扱わないでください。破損が発生しているシステムでどこが悪いのか調査しますが、そうしたトラブルシューティングはこのマニュアルの範囲を超えています。