Innodbackupex备份
这个可以对innodb和myisam引擎文件都备份
第一步
进行对数据库完整备份,将备份保存在/data/innodbackup/目录
innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn /data/innodbackup/
执行完成之后生成一个按日期的备
[root@10-8-30-93 innodbackup]# ls
2016-06-05_21-06-09
[root@10-8-30-93 2016-06-05_21-06-09]# ls
backup-my.cnf ib_logfile1 performance_schema viewdb xtrabackup_binlog_pos_innodb xtrabackup_logfile
ibdata1 ibtmp1 test worlddb xtrabackup_checkpoints
ib_logfile0 mysql test1 xtrabackup_binlog_info xtrabackup_info
第二步:
可以看到将数据库的库和表都备份了,但是没有备份相应的日志文件,需要进行下面步骤
生成innodb日志
innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn --use-memory=500m --apply-log /data/innodbackup/2016-06-05_21-06-09/
结果:
[root@10-8-30-93 2016-06-05_21-06-09]# ls
backup-my.cnf ib_logfile1 performance_schema viewdb xtrabackup_binlog_pos_innodb xtrabackup_logfile
ibdata1 ibtmp1 test worlddb xtrabackup_checkpoints
ib_logfile0 mysql test1 xtrabackup_binlog_info xtrabackup_info
可以看到红色标记的日志文件出来了
使用innodbackupex恢复备份
第一步
innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back /data/innodbackup/2016-06-05_21-06-09/
这个命令将会把备份自动拷贝到my.snf配置文件里面指定的datadir目录配置下面
给文件赋予下权限 chown -R mysql. *
启动mysql完成
非常简单!!
重点来了:
使用innodbackupex数据库做增量备份
第一步
做一个完整性备份
还是先手工创建一个增量备份保存的子目录
[root@10-8-30-93 innodbackup]# mkdir {1,2,3}
innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=ucloud.cn /data/innodbackup/1/
第二步,全备到1目录下了,假如做了更改,那将增量的部分备份到2目录
innobackupex --defaults-file=/usr/local/mysql/my.cnf --incremental /data/innodbackup/2/ --incremental-basedir=/data/innodbackup/1/2016-06-05_21-36-33/ --user=root --password=ucloud.cn
参数:--incremental 增量备份到那个目录
--incremental-basedir 基于哪个原始目录进行的增量备份
假如又做了数据库修改,则以2目录下的增量备份为基础,将增量部分备份到3目录
innobackupex --defaults-file=/usr/local/mysql/my.cnf --incremental /data/innodbackup/3/ --incremental-basedir=/data/innodbackup/2/2016-06-05_21-40-08/ --user=root --password=ucloud.cn
完美!!
接下来做增量备份恢复的演示:
1、准备原始备份
innobackupex --defaults-file=/usr/local/mysql/my.cnf --apply-log --redo-only /data/innodbackup/1/2016-06-05_21-36-33/ --use-memory=500m --user=root --passowrd=ucloud.cn
2、将增量备份合并到原始备份中去
2的增量追加到原始备份
innobackupex --defaults-file=/usr/local/mysql/my.cnf --apply-log --redo-log /data/innodbackup/1/2016-06-05_21-36-33/ --incremental-dir=/data/innodbackup/2/2016-06-05_21-40-08/ --use-memory=500m --user=root --password=ucloud.cn
将3的增量追加到原始备份
innobackupex --defaults-file=/usr/local/mysql/my.cnf --apply-log --redo-log /data/innodbackup/1/2016-06-05_21-36-33/ --incremental-dir=/data/innodbackup/3/2016-06-05_21-45-12/ --use-memory=500m --user=root --password=ucloud.cn
生成 最终备份,生成日志文件
innobackupex --defaults-file=/usr/local/mysql/my.cnf --apply-log /data/innodbackup/1/2016-06-05_21-36-33/ --use-memory=500m --user=root --password=ucloud.cn
使用这个就可以做恢复了!!