Summary
MySQLのデータベースのバックアップ方法についての備忘録
DBを停止してよい場合 (ファイルのコピー)
# /etc/init.d/mysqld stop
# cp -r /var/lib/mysql /path/to/backup/mysql-backup
# /etc/init.d/mysqld start
DBを停止したくない場合 (オンラインバックアップ)
mysqlhotcopy, mysqlsnapshot, mysqldump などを利用する。
mysqlhotcopy
ISAMテーブルやMyISAMテーブルをそのままの形でオンラインバックアップするPerlスクリプト
# mysqlhotcopy -u user -p password dbname /path/to/backup
mysqlsnapshot
サーバ上のすべてのISAMテーブルまたはMyISAMテーブルを、
データベースごとに1つのtarファイルにまとめてバックアップ
mysqlsnapshot -u user -p password -s /path/to/backup --split -n
mysqldump
指定されたデータベースおよびテーブルのSQLを生成する。
mysqldump -u user -ppassword -x dbname | gzip > /path/to/mysql.dump.gz
すべてのデータベースおよびテーブルのSQLを生成する。
mysqldump -u user -ppassword -x --all-databases | gzip > /path/to/mysql.dump.gz
Reference
MySQLデータのバックアップ方法 - SourceForge.JP Magazine
http://sourceforge.jp/magazine/07/05/31/0155233