#查看 test1 表中的内容
mysql> select * from test1;
+——+————+
| id | name |
+——+————+
| 1 | chenbaojia |
+——+————+
1 row in set (0.00 sec)
#查看当前所有数据库
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| ceshi |
| mysql |
| performance_schema |
| test |
+——————–+
5 rows in set (0.00 sec)
然后进行一次增量备份:
[root@master data]# innobackupex –defaults-file=/etc/my.cnf –user=root –incremental-basedir=/backup/mysql/data/2017-04-04_16-56-35/ –incremental /backup/mysql/data/
[root@master data]# ll
总用量 8
drwxr-xr-x 6 root root 4096 4月 4 17:08 2017-04-04_16-56-35 //全量备份目录
drwxr-xr-x 6 root root 4096 4月 4 17:28 2017-04-04_17-28-14 //增量备份目录
接着再在mysql数据库中写入新数据
[root@master data]# mysql
mysql> use ceshi;
Database changed
mysql> insert into test1 values(2,”pelosi”);
Query OK,1 row affected (0.11 sec)
mysql> insert into test1 values(3,”hiofo”);
Query OK,1 row affected (0.06 sec)
mysql> insert into test1 values(4,”mac”);
Query OK,1 row affected (0.09 sec)
mysql> select * from test1;
+——+————+
| id | name |
+——+————+
| 1 | chenbaojia |
| 2 | pelosi |
| 3 | hiofo |
| 4 | mac |
+——+————+
4 rows in set (0.00 sec)
接着在增量的基础上再进行一次增量备份
–incremental-basedi 要写上次最后增量备份的目录
[root@master ~]# innobackupex –defaults-file=/etc/my.cnf –user=root –incremental-basedir=/backup/mysql/data/2017-04-04_17-28-14/ –incremental /backup/mysql/data
[root@master ~]# ll /backup/mysql/data/
总用量 12
drwxr-xr-x 6 root root 4096 4月 4 17:08 2017-04-04_16-56-35 //全量备份目录
drwxr-xr-x 6 root root 4096 4月 4 17:28 2017-04-04_17-28-14 //全量备份目录
drwxr-xr-x 6 root root 4096 4月 4 17:38 2017-04-04_17-37-58 //全量备份目录
现在删除数据库ceshi 、 test
[root@master ~]# mysql
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| ceshi |
| mysql |
| performance_schema |
| test |
+——————–+
5 rows in set (0.00 sec)
mysql> drop database ceshi;
Query OK,1 row affected (0.07 sec)
mysql> drop database test;
Query OK,0 rows affected (0.00 sec)
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.00 sec)
接下来就开始进行数据恢复操作:
先恢复应用日志(注意最后一个不需要加–redo-only参数)
[root@master ~]# innobackupex –defaults-file=/etc/my.cnf –user=root –apply-log –redo-only /backup/mysql/data/2017-04-04_16-56-35/
[root@master ~]# innobackupex –defaults-file=/etc/my.cnf –user=root –apply-log –redo-only /backup/mysql/data/2017-04-04_16-56-35/ –incremental-dir=/backup/mysql/data/2017-04-04_17-28-14/
[root@master ~]# innobackupex –defaults-file=/etc/my.cnf –user=root –apply-log /backup/mysql/data/2017-04-04_16-56-35/ –incremental-dir=/backup/mysql/data/2017-04-04_17-37-58/
到此,恢复数据工作还没有结束!还有最重要的一个环节,就是把增量目录下的数据整合到全量备份目录下,然后再进行一次全量还原.
停止mysql数据库,并清空数据目录
[root@master ~]# /etc/init.d/mysqld stop
Shutting down MySQL. SUCCESS!
[root@master ~]# rm -fr /application/mysql/data/*
最后拷贝文件,并验证数据目录的权限
[root@master ~]# innobackupex –defaults-file=/etc/my.cnf –user=root –copy-back /backup/mysql/data/2017-04-04_16-56-35/
[root@master ~]# chown -R mysql.mysql /application/mysql/data/*
[root@master ~]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
[root@master ~]# mysql
(编辑:ASP站长网)
|