XtraBackupバックアップ・リストアメモ

Mysqlのオンラインバックアップを実現するXtraBackupを検証してみました。
以下はメモです。

■Percona-XtraBackup 2.2.10
http://www.percona.com/doc/percona-xtrabackup/2.2/installation.html

■XtraBackupインストール

# uname -m
x86_64
# wget http://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.2.10/binary/redhat/6/x86_64/Percona-XtraBackup-2.2.10-re623acb-el6-x86_64-bundle.tar
# yum -y install perl-Time-HiRes
# rpm -ivh percona-xtrabackup-2.2.10-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-test-2.2.10-1.el6.x86_64.rpm
# rpm -ivh percona-xtrabackup-debuginfo-2.2.10-1.el6.x86_64.rpm
# mkdir /var/lib/mysql_backup/

■フルバックアップ

# innobackupex --user=root --password=jagaimo --defaults-file=/etc/my.cnf /var/lib/mysql_backup

■リストア

# /etc/rc.d/init.d/mysqld stop
# innobackupex --user root --password jagaimo --copy-back /var/lib/mysql_backup/2015-04-30_11-07-39
# mv mysql bk_mysql
# chown -R mysql:mysql /var/lib/mysql/
# /etc/rc.d/init.d/mysqld start
# mysql -u root -p
mysql> use data1
mysql> select * from table1;

これでフルバックアップとリストアは検証できました。
差分バックアップは別途検証しようと思います。

■■■参考■■■
■Mysql 起動停止

# /etc/rc.d/init.d/mysqld start
# /etc/rc.d/init.d/mysqld stop

■Mysql設定変更

# /etc/my.cnf 

■Mysql操作

# mysql -u root -p

■パスワードをjagaimoへ変更

mysql> SET PASSWORD FOR root@localhost=PASSWORD('jagaimo');

■起動時の失敗時の調査

# tail -f /var/log/mysqld.log

■フルバックアップ

# innobackupex $BACKUP_OPTION $FULLBACKUP_DIR

$BACKUP_OPTION="--user=$MYSQL_USER --password=$MYSQL_PASSWORD --defaults-file=$DEFAULTS_FILE"
$MYSQL_USER=root
$MYSQL_PASSWORD=jagaimo
$DEFAULTS_FILE=/etc/my.cnf
$FULLBACKUP_DIR=

■Percona 正式ドキュメント
http://www.percona.com/doc/percona-xtrabackup/2.2/

■バックアップを取得して失敗した時のメモ

# mkdir /var/lib/mysql_backup/
# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/var/lib/mysql_backup/

=============================
# xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/var/lib/mysql_backup/
xtrabackup version 2.2.10 based on MySQL server 5.6.22 Linux (x86_64) (revision id: )
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /var/lib/mysql/
xtrabackup: open files limit requested 0, set to 1024
xtrabackup: using the following InnoDB configuration:
xtrabackup:   innodb_data_home_dir = ./
xtrabackup:   innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 2
xtrabackup:   innodb_log_file_size = 50331648
InnoDB: Error: log file ./ib_logfile0 is of different size 5242880 bytes
InnoDB: than specified in the .cnf file 50331648 bytes!

InnoDBのサイズ変更のやり方
http://blog.enjoitech.com/article/196
=============================

■参考サイト
http://variable.jp/2013/01/24/mysql%E3%82%AA%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-xtrabackup/
http://www.submit.ne.jp/428

以上