innobackupex 的使用方法
1.完全备份 参数一是完全备份地址 完全备份到/data/mysql/back_up/all_testdb_20140612 目录下
innobackupex --user=root --password=123456 --no-timestamp /data/mysql/back_up/all_testdb_20140612
现在完整备份的目录为/data/mysql/back_up/all_testdb_20140612
2.增量备份
第一次
sh incremental_backup.sh /data/mysql/back_up/back_up_20140601 /data/mysql/back_up/all_testdb_20140612
第二次
sh incremental_backup.sh /data/mysql/back_up/back_up_20140602 /data/mysql/back_up/back_up_20140601
第三次
sh incremental_backup.sh /data/mysql/back_up/back_up_20140603 /data/mysql/back_up/back_up_20140602
具体脚本如下:
innobackupex --user=root --password=123456 --no-timestamp --incremental $1 --incremental-basedir=$2 --defaults-file=/etc/my.cnf
具体目录如下:
drwxr-xr-x. 7 root root 4096 6月 12 14:29 all_testdb_20140612 //全量备份地址
drwxr-xr-x. 7 root root 4096 6月 12 14:31 back_up_20140601 //第一次备份地址
drwxr-xr-x. 7 root root 4096 6月 12 14:32 back_up_20140602 //第二次备份地址
drwxr-xr-x. 7 root root 4096 6月 12 14:32 back_up_20140603 //第三场备份地址
选项--incremental是指定作增量备份 --incremental-basedir选项是指定上一次增量备份的目录(如果是第一次作增量备份,则为完整备份的目录)。
3.还原
增量备份的还原操作跟完整的还原有点不一样,首先必须使用--apply-log --redo-only对完整备份的目录及所有增量备份目录进行操作,然后就可以像还原完整备份时的操作了。
对每个备份目录作apply-log redo-only操作(包括完整备份)
innobackupex --apply-log --redo-only /data/mysql/back_up/all_testdb_20140612 --user=root --password=123456
innobackupex --apply-log --redo-only /data/mysql/back_up/all_testdb_20140612 --incremental-dir=/data/mysql/back_up/back_up_20140601 --user=root --password=123456
innobackupex --apply-log --redo-only /data/mysql/back_up/all_testdb_20140612 --incremental-dir=/data/mysql/back_up/back_up_20140602 --user=root --password=123456
innobackupex --apply-log --redo-only /data/mysql/back_up/all_testdb_20140612 --incremental-dir=/data/mysql/back_up/back_up_20140603 --user=root --password=123456
下面就跟还原完整备份时一样了
/etc/init.d/mysqld stop
//删除原有的数据
rm -rf /var/lib/mysql/*
//生成新的数据
innobackupex --copy-back /data/mysql/back_up/all_testdb_20140612
chown -R mysql.mysql /var/lib/mysql/
/etc/init.d/mysqld start