MySQLのオンラインバックアップ・リカバリ<リストア・ロールフォワードリカバリ編>

障害により別環境に再構築を想定

1.リストアやロールフォワードリカバリ作業時のバイナリログ出力を停止させる
※my.cnfのlog-bin行をコメントアウト

2.MySQL起動(権限データベースの設定がない状況を想定)

# /etc/init.d/mysqld start --skip-grant-tables --skip-networking

--skip-grant-tables:権限データベースが存在しない状況で起動可能
--skip-networking:リモートからの接続を拒否

3.mysqldumpで取得したバックアップファイルを実行(リストア)

# mysql < mysqldump.sql

4.mysqldumpのバックアップ以降のバイナリログをテキスト形式のSQL文に変換

# mysqlbinlog --disable-log-bin binary.xxxxx1 binary.xxxxx2 binary.xxxxx3 > recovery.sql

※--disable-log-binは手順1と同じなのでなくてもよい

5.ロールフォワードリカバリ

# mysql < recovery.sql

6.バイナリログの出力を有効にする
※my.cnfのlog-bin行を有効にする

7.MySQL再起動

# /etc/init.d/mysqld restart

参考
現場で使える MySQL (DB Magazine SELECTION)