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