下記の記事を参照して欲しい
XtraBackupを使ってMySQLをバックアップしよう [2012/2/1]
innobackupexを使ってMySQLのデータをバックアップする
参考 http://www.percona.com/docs/wiki/percona-xtrabackup:start http://dbspelunker.blogspot.com/2010/11/xtrabackupmanual.html インストール my.cnfの設定の [mysqld]以下にdatadirの設定を記述 ※innobackupexが/etc/my.cnfからdatadirの値を使うため
# emacs /etc/my.cnf datadir=/var/lib/mysql/GnuPGが必須になるのでインストールする
# yum install gpgYumレポジトリをインストールする
32bit OS # rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.i386.rpm 64bit OS # rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpmyum listに入っているかチェック
# yum list | grep xtrabackup holland-xtrabackup.noarch 1.0.6-3.el5 epel xtrabackup.i386 1.6-245.rhel5 percona xtrabackup-debuginfo.i386 1.6-245.rhel5 perconaインストール
# yum install xtrabackupインストール場所のチェック
# which xtrabackup # which innobackupexバックアップ バックアップディレクトリ作成
# mkdir -p /mysqlbackup/xtrabackup/バックアップ実行
# /usr/bin/innobackupex --user UUUUUUU --password PPPPPPP --slave-info /mysqlbackup/xtrabackup/ ............. ............. >> log scanned up to (542812997) xtrabackup: Stopping log copying thread. xtrabackup: Transaction log of lsn (542812997) to (542812997) was copied. 110719 18:25:44 innobackupex: All tables unlocked 110719 18:25:44 innobackupex: Connection to database server closed innobackupex: Backup created in directory '/mysqlbackup/xtrabackup/2011-07-19_18-25-17' innobackupex: MySQL binlog position: filename 'mysql-bin.000012', position 599281561 innobackupex: MySQL slave binlog position: master host '', filename '', position 110719 18:25:44 innobackupex: completed OK!→/mysqlbackup/xtrabackup/2011-07-19_18-25-17以下にバックアップファイルが配置された ※リストアの際に/etc/my.cnfのデータファイルに関する設定を合わせる必要があるため/etc/my.cnfもバックアップを取ると良い 但し、リストアする時にそのままデータディレクトリにファイルが設置されて/var/lib/mysql/my.cnfが有効にならない様に my.cnf.org の様にリネームしておく ※バックアップファイルは圧縮して別サーバにコピーをしておく WAL(Write Ahead Log)を適用する
# /usr/bin/innobackupex --user UUUUUUU --password PPPPPPP --apply-log /mysqlbackup/xtrabackup/2011-07-19_18-25-17 ............. ............. xtrabackup: starting shutdown with innodb_fast_shutdown = 1 110719 18:32:40 InnoDB: Starting shutdown... 110719 18:32:40 InnoDB: Shutdown completed; log sequence number 542814220 110719 18:32:40 innobackupex: completed OK!リストア MySQLをストップし、既存のデータディレクトリを移動する
# /etc/init.d/mysqld stop # mv /var/lib/mysql /var/lib/mysql.bak # mkdir /var/lib/mysqlリストア実行
# /usr/bin/innobackupex --copy-back /mysqlbackup/xtrabackup/2011-07-19_18-25-17ディレクトリの権限を変更して、MySQLをスタートする
# chown -R mysql:mysql /var/lib/mysql # /etc/init.d/mysqld start起動ログの確認をする
# tail -f /var/log/mysqld.log もしくは # tail -f /var/lib/mysql/****.err※ib_logfile0のサイズによるエラーが出たときは、my.cnfのログデータに関する記述を修正する
InnoDB: Error: log file ./ib_logfile0 is of different size 0 134217728 bytes InnoDB: than specified in the .cnf file 0 126877696 bytes! 110720 13:48:47 [ERROR] Plugin 'InnoDB' init function returned error. 110720 13:48:47 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 110720 13:48:47 [ERROR] Unknown/unsupported storage engine: InnoDB 110720 13:48:47 [ERROR] Aborting ............. ............. # emacs /etc/my.cnf innodb_log_file_size = XXX M※MySQLのバージョンを上げた時にはmysql_upgradeを実行する
# /usr/bin/mysql_upgrade -uUUUUUUU -pPPPPPPP