MySQL备份innodbackupex使用

Innodbackupex备份

 

这个可以对innodbmyisam引擎文件都备份

 

第一步

进行对数据库完整备份,将备份保存在/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

 

 

使用这个就可以做恢复了!!

你可能感兴趣的:(mysql)