memo.xight.org

日々のメモ

MySQLのデータベースのバックアップ方法

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