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 ...
随机推荐
- core_cm4.h(129): error: #35: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
今天使用 systick 的时候,只使用了头文件 core_cm4.h,结果就报错了,原因是 __FPU_PRESENT 没有定义,这个定义其实在 stm32f4xx.h 里面.所以如果要解决这个错误 ...
- Caused by: com.mysql.cj.exceptions.DataReadException: Zero date value prohibited
原因:数据库日期出现零值,即0000-00-00 属于一个无效日期. 解决方案:重新赋值,或者在jdbc链接后加参数zeroDateTimeBehavior=convertToNull
- LinkedList源码阅读笔记
LinkedList LinkedList是双向链表,不循环(1.6之前循环),继承AbstractSequentialList类,实现了List, Deque, Cloneable接口. 链表的特点 ...
- Dlib笔记一:基本数据结构和基本操作
编译了Dlib之后就开始想着怎么用起来,先从基本的数据类型说起吧,因为是图像,所以难免会跟OpenCV的数据类型比较.在Dlib中,图像是用二维阵列(array2d)或者矩阵(matrix)来表示的, ...
- C++ STD Gems02
remove.remove_if.replace.replace_if.remove_copy_if.unique #include <iostream> #include <str ...
- MySQL实现免密登录和数据库无法启动问题
1. 进入MySQL安装的文件夹,打开my.ini配置文件,打开方式参考:https://www.cnblogs.com/leslie12956/p/11842956.html 2. 停止MysSQL ...
- 算法应用杂谈-xgboost的偏差
一个小样本的cvr 估计问题中, 考虑用xgboost 模型. 发现结果的估计偏差很大. 仔细研究后, 发现现象: 迭代步数不多, 一般3,5步就停了. 预测的分数偏差很大, 分布不匀. pcoc很大 ...
- 2)将普通工程变成动态库dll
1)打开那个工程: 2)然后 看属性里面的控制平台:
- Dynamics CRM - 在 C# Plugin 里以 System Administrator 权限来更新 Entity
场景说明: 1.在使用 CRM 系统时,经常会有需要在某个 Entity 下对其他 Entity 的 Record 进行更新,或者在 post 中对自身进行更新,这里就需要用到 SDK 上的 upda ...
- mysql 5.6 cmake的安装
# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDI ...