いちおうMySQL純正(というかマニュアルに載っているもの)で。

ストレージエンジンが MyISAM なテーブルは mysqlhotcopy を使えばOK.

MySQL :: MySQL 5.1 リファレンスマニュアル :: 7.13 mysqlhotcopy — データベースバックアッププログラム
ヅラッシュ! - mysqlhotcopy で MySQL データベースをオンラインバックアップする

ストレージエンジンが InnoDB なテーブルは mysqldump で。

オプションにはざっとこの3つを指定するのが良さそう。
--master-data : バイナリログファイル名とポジションを出力する
--flush-logs : ダンプを始める前にMySQLサーバログファイルをフラッシュする
--single-transaction : データをダンプする前にBEGIN SQLステートメントを発行(BEGINが発行された当時のデータベースの状態をダンプ)

MySQL :: MySQL 5.1 リファレンスマニュアル :: 7.12 mysqldump — データベースバックアッププログラム
MySQL InnoDBテーブルのオンラインバックアップの設計 - メモ帳

他にもいろいろあるみたい・・・

- MySQLデータのバックアップ方法 - SourceForge.JP Magazine : オープンソースの話題満載
- innobackupex-1.5.1 - Perl日誌
- xtrabackup を使ってみた - TokuLog 改メ tokuhirom’s blog
- 漢(オトコ)のコンピュータ道: MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

tags: mysql backup

Posted by NI-Lab. (@nilab)