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


18.6.9.2 MySQL Cluster レプリケーションを使用したポイントインタイムリカバリ

ポイントインタイムリカバリ (つまり、特定の時点よりあとに行われたデータ変更のリカバリ) は、サーバーをバックアップが行われた時点の状態に戻す完全バックアップのリストア後に実行されます。MySQL Cluster と MySQL Cluster レプリケーションを使用した MySQL Cluster テーブルのポイントインタイムリカバリの実行は、ネイティブの NDB データバックアップ (ndb_mgm クライアントで CREATE BACKUP を発行して取得されます) を使用し、ndb_binlog_index テーブル (mysqldump を使用して作られたダンプ) をリストアすることで実行できます。

MySQL Cluster のポイントインタイムリカバリを実行するには、ここで示すステップに従う必要があります。

  1. ndb_mgm クライアントで START BACKUP コマンドを使用して、クラスタ内のすべての NDB データベースをバックアップします (セクション18.5.3「MySQL Cluster のオンラインバックアップ」を参照してください)。

  2. その後の時点でクラスタをリストアする前に、mysql.ndb_binlog_index テーブルのバックアップを作成します。このタスクに mysqldump を使用することが、おそらくもっとも簡単です。このときに、バイナリログファイルもバックアップします。

    このバックアップは、必要に応じて定期的 (等間隔で 1 時間ごとなど) に更新してください。

  3. (重大な障害またはエラーが発生します。)

  4. 最新の既知の良好なバックアップを探します。

  5. データノードのファイルシステムをクリアします (ndbd --initial または ndbmtd --initial を使用します)。

    注記

    MySQL Cluster ディスクデータテーブルスペースおよびログファイルは --initial では削除されません。これらを手動で削除する必要があります。

  6. mysql.ndb_binlog_index テーブルで DROP TABLE または TRUNCATE TABLE を使用します。

  7. ndb_restore を実行して、すべてのデータをリストアします。ndb_apply_status テーブルが正しく移入されるように、ndb_restore を実行するときに --restore_epoch を加える必要があります。(詳細については、セクション18.4.20「ndb_restore — MySQL Cluster バックアップのリストア」を参照してください。)

  8. 必要に応じて、mysqldump の出力から ndb_binlog_index テーブルをリストアしたり、バックアップからバイナリログファイルをリストアしたりします。

  9. 最後に適用されたエポック (すなわち、ndb_apply_status テーブルの epoch カラムの最大値) をユーザー変数 @LATEST_EPOCH として検索します (重要)。

    SELECT @LATEST_EPOCH:=MAX(epoch) 
        FROM mysql.ndb_apply_status;
  10. ndb_binlog_index テーブルの @LATEST_EPOCH に対応する、最新のバイナリログファイル (@FIRST_FILE) と位置 (Position カラム値) をこのファイル内で検索します。

    SELECT Position, @FIRST_FILE:=File 
        FROM mysql.ndb_binlog_index 
        WHERE epoch > @LATEST_EPOCH ORDER BY epoch ASC LIMIT 1;
  11. mysqlbinlog を使用して、障害が発生した時点まで、特定のファイルと位置からバイナリログイベントを再現します。(セクション4.6.8「mysqlbinlog — バイナリログファイルを処理するためのユーティリティー」を参照してください。)

バイナリログ、レプリケーション、および増分リカバリに関する詳細は、セクション7.5「バイナリログを使用したポイントインタイム (増分) リカバリ」も参照してください。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.