MySQLにおけるバックアップとリストアについて調べる
公開日:
:
最終更新日:2014/01/25
MySQL
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
[MySQLウォッチ]第23回 押さえておきたいバックアップとリストアのポイント – オープンソース:ITproを参考に。
テーブル内のデータの取出しと流し込み
TSVファイルとして作成する
SELECT * INTO OUTFILE '/tmp/test.txt' FROM yotei;
CSVファイルとして作成する
SELECT * INTO OUTFILE '/tmp/test.cvs' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' FROM yotei;
データの流し込み
LOAD DATA INFILE '/tmp/test.txt' INTO TABLE yotei;
ファイルコピーによるバックアップとリストア
MyISAMの場合。
- バックアップ
- MySQLサーバーを停止する
- データディレクトリ以下をディレクトリごとコピーする
- リストア
- ディレクトリおよびファイルを展開する
- MySQLサーバーを起動する
InnoDBの場合はちょっと面倒っぽい。ここには書かない。
MYSQLDUMPとMYSQLによるバックアップとリストア
- MYSQLDUMPでデータベースの内容をSQLステートメントとして保存
- 保存したSQLステートメントをMYSQLにセットして復元
バイナリログの活用による差分の更新
バックアップした後の差分を抽出し、リストア後に反映することが可能
MYSQLによるリストア
MYSQLコマンド自身もバイナリログの対象となるので、リストア作業時にはバイナリログの停止をしたほうがよさげ。
MYSQLBINLOGによるバイナリログからのリストア
- バイナリログはテキストファイルではない
- バイナリログの内容を参照するためにMYSQLBINLOGコマンドが用意されている
- MYSQLBINLOGコマンドの出力内容をそのままファイルに保存することでリスト用のファイルを作成できる
- あとはMYSQLコマンドにてリストアするだけ
関連記事
- PREV
- 少しばかり文章を追加してみた
- NEXT
- MyISAMとInnoDBについて