shell_innobackup增量备份步骤
alias start='service mysql.server start'
alias restart='service mysql.server restart'
alias stop='service mysql.server stop'
alias kill='pkill -9 mysqld'
一、全库备份
[root@mysql01 ~]# innobackupex --user=admin /xtrabackup_full/
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db01 |
| db02 |
| db03 |
| mysql |
| performance_schema |
| test |
+--------------------+
7 rows in set (0.15 sec)
二、全备后数据库更改操作
mysql> drop database db02;
Query OK, 1 row affected (0.38 sec)
mysql> use db03
mysql> show tables;
+----------------+
| Tables_in_db03 |
+----------------+
| t1 |
+----------------+
1 row in set (0.00 sec)
mysql> select * from t1;
+------+-------+
| id | name |
+------+-------+
| 1 | harry |
| 2 | tom |
+------+-------+
2 rows in set (0.01 sec)
mysql> insert into t1 values(3,'jack');
Query OK, 1 row affected (0.01 sec)
mysql> update t1 set name='lisi' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from t1;
+------+------+
| id | name |
+------+------+
| 1 | lisi |
| 2 | tom |
| 3 | jack |
+------+------+
3 rows in set (0.00 sec)
三、增量备份1
[root@mysql01 ~]# innobackupex --user=admin --incremental /xtrabackup_incremental/ --incremental-basedir=/xtrabackup_full/2018-08-05_10-46-26/
四、增备1后数据库更改操作
mysql> create database db04;
Query OK, 1 row affected (0.00 sec)
mysql> create table db04.t1(id int,name varchar(10));
Query OK, 0 rows affected (0.03 sec)
mysql> insert into db04.t1 values(11,'MissHou');
Query OK, 1 row affected (0.00 sec)
mysql> select * from db04.t1;
+------+---------+
| id | name |
+------+---------+
| 11 | MissHou |
+------+---------+
1 row in set (0.10 sec)
五、增量备份2
[root@mysql01 ~]# innobackupex --user=admin --incremental /xtrabackup_incremental/ --incremental-basedir=/xtrabackup_incremental/2018-08-05_11-08-50/
六、增量备份2后数据库更改操作
mysql> insert into db04.t1 values(12,'Mona');
Query OK, 1 row affected (0.01 sec)
mysql> select * from db04.t1;
+------+---------+
| id | name |
+------+---------+
| 11 | MissHou |
| 12 | Mona |
+------+---------+
2 rows in set (0.00 sec)
总结说明:
1.如果数据库在第2次增量备份后发生故障,那么数据恢复时只能够使用xtrabackup全量备份+xtrabackup增量备份恢复到第2次增量的点
2.如果要将数据库恢复到最新状态,需要结合binlog日志恢复
3.以上全量和增量的备份集是不能用的,需要将xtrabackup_log应用到全量的备份集中才有效
七、应用所有日志到全量备份集中
注意:
1). 除了最后一次增量备份应用日志可以不加--redo-only外,其他都要加;
只应用已经提交的事务,不回滚未提交的事务!!!
2). 应用日志到全量备份集中时一定要严格按照时间顺序执行,否则无效!
1. 应用全量备份日志xtrabackup_log到全量备份集中
[root@mysql01 ~]# innobackupex --apply-log --redo-only /xtrabackup_full/2018-08-05_10-46-26/
2. 应该第一增量备份日志到全量备份集中
[root@mysql01 xtrabackup_incremental]# pwd
/xtrabackup_incremental
[root@mysql01 xtrabackup_incremental]# ll
total 0
drwxr-x--- 7 root root 252 Aug 5 11:08 2018-08-05_11-08-50
drwxr-x--- 8 root root 264 Aug 5 11:12 2018-08-05_11-12-26
[root@mysql01 ~]# innobackupex --apply-log --redo-only /xtrabackup_full/2018-08-05_10-46-26/ --incremental-dir=/xtrabackup_incremental/2018-08-05_11-08-50/
3. 应用第二次增量备份日志到全量备份集中
注意:我这里没有加--redo-only
[root@mysql01 ~]# innobackupex --apply-log /xtrabackup_full/2018-08-05_10-46-26/ --incremental-dir=/xtrabackup_incremental/2018-08-05_11-12-26/
注意说明:
如果最后一次应用日志时没有加--redo-only那么以下操作可以省略;如果最后一次加了,可以使用以下语句进行回滚操作,回滚未提交的事务:
[root@mysql01 ~]# innobackupex --apply-log /xtrabackup_full/2018-08-05_10-46-26/
八、模拟数据损坏
[root@mysql01 ~]# cd /usr/local/mysql/data/
[root@mysql01 data]# rm -rf *
九、使用innobackupex进行恢复
[root@mysql01 data]# innobackupex --defaults-file=/usr/local/mysql/my.cnf --copy-back /xtrabackup_full/2018-08-05_10-46-26/
[root@mysql01 data]# chown -R mysql. .
十、验证数据是否一致
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db01 |
| db03 |
| db04 |
| mysql |
| performance_schema |
| test |
+--------------------+
7 rows in set (0.00 sec)
mysql> select * from db03.t1;
+------+------+
| id | name |
+------+------+
| 1 | lisi |
| 2 | tom |
| 3 | jack |
+------+------+
3 rows in set (0.01 sec)
mysql> select * from db04.t1;
+------+---------+
| id | name |
+------+---------+
| 11 | Ghost |
+------+---------+
1 row in set (0.00 sec)
mysql>
shell_innobackup增量备份步骤的更多相关文章
- mysql xtrabackup增量备份
mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月. 增量备份步骤; 1 创建全备 2 根据全备目录,创建增量备份 3 第二次增量备份根据第一次增量备份目录,依次 ...
- 11G-使用跨平台增量备份减少可移动表空间的停机时间 XTTS (Doc ID 1389592.1)
11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 13895 ...
- Mysql性能优化三(分表、增量备份、还原)
接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...
- 通过innobackupex实现对MySQL的增量备份与还原
备份 增量备份是基于完整备份的,所以我们需要先做一次完整备份: innobackupex --password=test /backup/ 备注:test是我的MySQL服务的root用户的密码,/b ...
- 利用增量备份恢复因归档丢失造成的DG gap
故障现象:data guard归档出现gap,悲剧的是丢失的归档在主库上被rman备份时删除了,丢失的归档大约有20几个,数据库大小约2T,如果重建DG将非常耗时间,因此决定利用增量备份的方式恢复DG ...
- oracle增量备份
在进行数据库维护的过程中经常会遇到数据库备份的问题.先介绍一种常用的数据备份操作系统执行计划+批处理命令:在win的系统中存在 任务计划程序 选项:新建任务选中你写好的程序,设定好时间,就可以按照设定 ...
- Xtrabackup每周增量备份脚本程序
Xtrabackup每周增量备份脚本程序(含附件) 程序描述 本程序是一个对percona xtrabackup使用的脚本,它完成了MySQL每周的备份. 程序结构 此程序包含了4个目录(bin. ...
- MySQL数据库备份还原(基于binlog的增量备份)
MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份 增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...
- mysql增量备份 percona-xtrabackup
先说下实际环境 阿里云买的ESC跑的mysql服务,目前由于数据量过大,数据库目前有800多GB,每次全备需要等20多个小时才能够完成,然后就想到做增量备份,写下此文档 一.测试环境 [root@lo ...
随机推荐
- 吴裕雄--天生自然TensorFlow2教程:测试(张量)- 实战
import tensorflow as tf from tensorflow import keras from tensorflow.keras import datasets import os ...
- E - Third-Party Software - 2 Gym - 102215E (贪心)
Pavel is developing another game. To do that, he again needs functions available in a third-party li ...
- 201771010123汪慧和《面向对象程序设计Java》第十二周实验总结
一.理论部分 1.在Java提供的GUI构建工具中可以分为组件和容器两类. 2.在Java中的组件有:按钮.标签.复选框.单选按钮.选择框.列表框.文本框.滚动条.画布.菜单. 3.在Java中的容器 ...
- MYSQL安装与基本操作
http://docs.sqlalchemy.org/en/latest/ sqlalchemy文档 1.下载,下载版本太多,不知道下哪个好,别人介绍版本 进入官网-->点击最下面 DOW ...
- C语言之结构体概述
C语言之结构体概述1.结构体类型是一种自定义类型(1)C语言中有2种类型:原生类型和自定义类型.2.结构体使用时先定义结构体类型再用类型定义变量(1)结构体定义时需要先定义结构体类型,再用类型来定义变 ...
- Navicat for Mysql 11.2 的下载,安装与激活
1. Navicat for Mysql 11.2 的下载 链接:https://pan.baidu.com/s/1w54F-MYTLuy4TQwpzUE7bQ 密码:zsfu 2.下载的 ...
- HTML与CSS结合的四种方式
HTML与CSS结合的四种方式: 方式一:每个标签加一个属性: 例如:<div style="background-color:red; color: green"> ...
- String StringBuffer和StringBuilder的区别和联系
1:String,StringBuffer和StringBuilder概念 1.1:String String中使用字符串数组来存储字符串,但是是fianl来修饰的,所以String的内容不可改变. ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 创建数据库
在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB: [root@ho ...
- [极客大挑战 2019]PHP
0x00知识点 1:直接扫描目录得到网站源码. 2:public.protected与private在序列化时的区别 protected 声明的字段为保护字段,在所声明的类和该类的子类中可见,但在该类 ...