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
以上