MySQL のバックアップとリストア・リカバリ

MySQL のバックアップとリストア・リカバリを行う方法として、パッケージ付属の mysqldump および mysqlbinlog の使い方(コマンドライン)を整理しておきます。

なお、この記事は、過去記事『MySQL 5.5.9 のバックアップ/リカバリ』を元に加筆・修正して、コンパクトにまとめたものです。

また、ここでは下記を前提としています。

  • MySQLのバージョン・・・5.5
  • mysql管理者rootのパスワード・・・無し
  • 対象データベース・・・wordpress
  • mysqldump以降のバイナリログファイル・・・mysql-bin.000111, mysql-bin.000112
1.バックアップ

全データベースをバックアップする。

[root ~]# mysqldump -u root -pxxxxxxxx --single-transaction --flush-logs --all-databases > mysqldump_`date +%Y%m%d%H%M`.sql
2.リストア・リカバリ

全データベースのリストアする。

[root ~]# mysql -u root -pxxxxxxxx < mysqldump_201201101616.sql

※特定のデータベースをリストアする場合は...

[root ~]# mysql -u root -pxxxxxxxx リストアしたいデータベース名 < mysqldump_201201101616.sql

上記リストアの後に、バイナリログによるロールフォワードを行う。

[root ~]# mysqlbinlog -u root -pxxxxxxxx --disable-log-bin mysql-bin.000111 mysql-bin.000112 | mysql

※mysqlbinlog のパラメータ説明
--disable-log-bin:バイナリロギングを無効化する

Comments are closed.