规范操作,我们先建好全备和增量备份的路径
[root@db01 backups]# pwd
/data/backups
[root@db01 backups]# ll
总用量 12
drwxr-xr-x 4 root root 4096 9月 4 17:28 full
drwxr-xr-x 4 root root 4096 9月 4 17:26 inc
操作过程:
mkdir/data/backups/{full,inc} -p
1.7.1 全备*****生产环境中为了数据一致性最好是ROW模式,因为其他的模式数据会丢失*****
命令语法格式:
innobackupex --user=User--password=PWD/data/backup/full --slave-info --safe-slave-backup --parallel=4--safe-slave-backup-timeout=7200 --rsync
--rsync 这个参数一般用作分布式数据库集群的时候
全备步骤:
1、准备一个xtr_test数据库,并在xtr_test数据库中插入testbackup表,字段包含id,step两个字段
mysql -uroot -p789 -S /data/3306/mysql.sock
show databases;
create database xtr_test;
use xtr_test;
select database();
create table testbackup(id int not nullauto_increment primary key,step varchar(50))engine=innodb;
show tables;
desc testbackup;
show create table testbackup\G
结果样子:
mysql> desc testbackup;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id |int(11) | NO | PRI | NULL | auto_increment |
| step |varchar(50) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)
mysql> show create table testbackup\G
*************************** 1. row***************************
Table:testbackup
Create Table: CREATE TABLE `testbackup` (
`id`int(11) NOT NULL AUTO_INCREMENT,
`step`varchar(50) DEFAULT NULL,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
2、插入字段“firstfull backup”到testbackup表中
insert into testbackup(step) values('first fullbackup');
操作结果:
mysql> select * from testbackup;
+----+-------------------+
| id | step |
+----+-------------------+
| 1 | firstfull backup |
+----+-------------------+
1 row in set (0.02 sec)
3、执行全备
此时,我们创建的xtr_test数据库中的testbackup表中有数据,而且我们创建的/data/backups/full文件下面没有任何内容。下面执行全备,操作命令上面已经给出,此次操作使用的多实例所以用到了--socket参数。