mysqldump xtractbackup的全量备份和增量备份

1. 完全备份

创建用于备份恢复的用户 pxb 并赋予权限
mysql> create user pxb@'localhost' identified by '123456';
mysql> grant reload,process,lock tables,replication client on *.* to pxb@localhost;

进行数据库全备

创建存放目录
[root@centos6 mysql]# mkdir -pv /data/pxb
mkdir: 已创建目录 "/data/pxb"
[root@centos6 pxb]# innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock  /data/pxb 

2. 全备恢复

把目标数据库停了
/etc/init.d/mysqld stop


准备(prepare)一个完全备份: --apply-log ( /data/pxb/2021-04-24_02-46-11/ 为备份目录,执行之后 xtrabackup_checkpoints 文件中的 backup_type = full-prepared )
[root@centos6 mysql]# innobackupex --apply-log /data/pxb/2017-04-24_02-46-11/

更改 data/ 目录权限并启动mysql:

[root@centos6 mysql]# chown -R mysql.mysql 、data/

开始目标数据库
[root@centos6 data]# /etc/init.d/mysqld start

 

3. xtrabackup 增量备份恢复

##新建一张表,并插入数据作为增量##

mysql> create table tb2 (id int,name varchar(40)); 

mysql> insert into tb2 values (1,'aaa'),(2,'bbb'),(3,'ccc'),(26,'zzz');
增量备份1:( 以全备为基准:/data/pxb/2021-04-24_02-46-11/ )
[root@centos6 pxb]# innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock --incremental /data/pxb/inc --incremental-basedir=/data/pxb/2021-04-24_02-46-11/ --parallel=2

再往 tb2 里插入数据:

mysql> insert into tb2 values (201,'aaa'),(202,'bbb'),(203,'ccc'),(326,'zzz');

增量备份2:( 以增量1为基准:/data/pxb/inc/2021-04-28_01-09-40/ )

 
innobackupex --defaults-file=/etc/my.cnf --user=pxb --password=123456 --socket=/tmp/mysql.sock --incremental /data/pxb/inc --incremental-basedir=/data/pxb/inc/2021-04-28_01-09-40/ --parallel=2
posted @ 2021-03-14 00:02  littlevigra  阅读(107)  评论(4编辑  收藏  举报