加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

MySQL 系列连载之 XtraBackup 增量热备 or 恢复实践(3)

发布时间:2021-01-12 02:17:54 所属栏目:安全 来源:网络整理
导读:《MySQL 系列连载之 XtraBackup 增量热备 or 恢复实践(3)》要点: 本文介绍了MySQL 系列连载之 XtraBackup 增量热备 or 恢复实践(3),希望对您有用。如果有疑问,可以联系我们。 导读 如果您在本文遇到任何问题或疑问请到QQ群中与我们交流.也可在下方进

#查看 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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!