1、增量备份:

增量数据是从上次全量备份之后,更新的新数据,对于mysql来说,binlog日志就是mysql的增量数据;

(1)按天进行备份:

周一00点全量备份

周二00点全量备份

......

01.sql.gz

02.sql.gz

......

周一增量备份

周二增量备份

......

mysql-bin.000001

mysql-bin.000002

mysql-bin.000003

mysql-bin.index

mysql-bin.000004

mysql-bin.000005

mysql-bin.000006

mysql-bin.index

......

1)优点:恢复时间短,维护成本低;

2)缺点:占用空间多,占用系统资源多,经常锁表影响用户的体验;

(2)按周进行备份:

周六00全量备份

01.sql.gz

01.sql.gz

01.sql.gz

周一增量备份

周二增量备份

周三增量备份

mysql-bin.000001

mysql-bin.000002

mysql-bin.000003

mysql-bin.index

mysql-bin.000004

mysql-bin.000005

mysql-bin.000006

mysql-bin.index

mysql-bin.000007

mysql-bin.000008

mysql-bin.000009

mysql-bin.index

1)优点:节省备份时间,减小本分压力;

2)缺点:增量的binlog文件副本太多,还原会比较的麻烦;

(3)企业场景全量和增量的频率是怎么做的:

1)中小公司,全量一般是一天一次,业务流量低谷时执行全被,备份时会锁表;

2)大公司周备,每周六00点一次全量备份,下周日到周六前都是增量;

3)如何增量:

使用rsync+inotify(rsync+sersync)把所有的binlog备份到远程服务器上;

(4)企业的备份什么时候会派上用场:

1)迁移或者升级数据库时;

2)增加从从库的时候;

3)人为的ddl,dml语句,主从库都没有办法了,因为所有的库都会还行,此时需要备份;

4)跨机房灾备,需要备份到异地;

(5)小结:

我们在生产工作中一般常用一主多从数据库架构,常见的备份方案是在某一个不对外服务的从库上

开启binlog,然后实施定时全备和实时增量备份,保存的周期大于备份的周期;

2、增量恢复:

利用二进制日志和全备进行的恢复过程,被称为增量恢复:

(1)主库或者从库宕机(硬件损坏)是否需要增量恢复:

不需要增量恢复;

主库宕机,只需要把其中一个同步最快的从库切换为主库即可;

从库宕机,直接不用就好了;

(2)人为操作数据库sql语句破坏主库是否需要增量恢复:

需要增量恢复;

在数据库主库内部命令行误操作,会导致所有的数据库(包括主从库)数据的丢失。

列如:在主库执行了'drop database test;'这样的删除语句,这时所有的从库也

会执行这哥'drop database test;'语句,从而导致所有数据库上的test库数据丢失。

(3)只有一个主库是否需要进行增量恢复:

如果公司只有一个主库的情况,首先应该做定一天一次的全量备份及时时的增量

备份。

(4)小结:

1)一般由人为或程序逻辑的方式在数据库执行的sql语句等误操作,才需要增量恢复,因为

此时所有的从库也执行了误操作语句;

2)增量恢复的条件是:存在一份全备加上全备之后的时刻到出现问题的所有增量binlog文件备份;

3)恢复时建议对外停止更新;

4)恢复全量备份,然后把增量日志中有问题的sql语句删除,恢复到数据库;

5)增量恢复的核心思想:

流程制度控制,如果不做,就会面临数据和服务出现故障;

业务需求容忍度,可量化的目标,根据需求选择停库或锁表或者容忍丢失部分数据;

3、备份注意:

备份保存的周期要大于备份的周期;

9.11、mysql增量备份和增量恢复介绍的更多相关文章

  1. MySQL完全备份、增量备份与恢复[转]

    原文链接:http://www.360doc.com/content/11/1209/09/834950_170836197.shtml 场景:每周日执行一次完全备份,每天下午1点执行增量备份 [ 适 ...

  2. Xtrabackup 增量备份 和 增量还原

    目录 测试数据准备 进行全量备份 第一次增量插入一条数据 进行第一次增量备份 注意 第二次增量插入一条数据 进行第二次增量备份 注意 查看xtrabackup_binlog_info中的binlog位 ...

  3. Mysql binlog备份数据及恢复数据,学会这个,我在也不怕删库跑路啦~

    导读 我一直都主张,技多不压身(没有学不会的技术,只有不学习的人),多学一项技能,未来就少求人一次.网上经常听到xxx删库跑路,万一真的遇到了,相信通过今天的学习,也能将数据再恢复回来~~~ 当然啦, ...

  4. Mysql 一次性备份导出/导入恢复所有数据库

    有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...

  5. 【转】mysql增量备份恢复实战企业案例

    来源地址:http://seanlook.com/2014/12/05/mysql_incremental_backup_example/ 小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但 ...

  6. Centos 6.5 实战-MySQL定时增量备份(2)

    首先在进行增量备份之前需要查看一下配置文件,查看 log_bin 是否开启,因为要做增量备份首先要开启 log_bin .首先,进入到 myslq 命令行,输入如下命令: [root@localhos ...

  7. 实战-MySQL定时增量备份(2)

    概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了.所以要对我们的线上数 ...

  8. 利用增量备份恢复因归档丢失造成的DG gap

    故障现象:data guard归档出现gap,悲剧的是丢失的归档在主库上被rman备份时删除了,丢失的归档大约有20几个,数据库大小约2T,如果重建DG将非常耗时间,因此决定利用增量备份的方式恢复DG ...

  9. MYSQL数据库自动本地/异地双备份/MYSQL增量备份

    构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...

随机推荐

  1. Fio 输出内容的解释

    Fio 输出内容的解释 feilianbb 2016-01-11 16:18:54  27828  收藏 19 文章标签: Linux 存储 Fio SSD 性能   翻译原文来源 https://t ...

  2. Linux 内存 占用较高问题排查

    Linux 内存 占用较高问题排查 niuhao307523005 2019-04-24 14:31:55 11087 收藏 11展开一 查看内存情况#按 k 查看 free #按兆M查看 free ...

  3. 马哥Linux--elasticsearch

    ELK stack: Lucene: 文档:document 包含了一个或多个域的容器 field:value 域: 有很多选项 索引选项,存储选项,域向量使用选项 索引选项用于通过倒排索引来控制文本 ...

  4. 程序"三高"解决方案

    0. 程序三高 1. 缓存 2. 预处理和延后处理 3. 池化 3.1 内存池 3.2 线程池 3.3 连接池 4. 异步(回调) 5. 消息队列 5.1 服务解耦 5.2 异步处理 5.3 流量削峰 ...

  5. unity 使用OnDrag实现物体旋转

    通过监听UGUI的OnDrag事件 实现对3D物体的旋转 实现IDragHandler接口 void IDragHandler.OnDrag(PointerEventData eventData) { ...

  6. python 定时任务APScheduler 使用介绍

    python 定时任务APScheduler 使用介绍   介绍: APScheduler的全称是Advanced Python Scheduler.它是一个轻量级的 Python 定时任务调度框架. ...

  7. GO学习-(16) Go语言基础之文件操作

    Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作. 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件. 打开和关闭文件 os.Open( ...

  8. jquery 改变标签样式

    jQuery改变标签的样式一般有3种 预置好class,然后通过jQuery改变元素的class名,使用的是addClass.removeClass 直接改变元素的css属性值,这种是通过添加styl ...

  9. javascript获取日期,年月,日

    <SCRIPT LANGUAGE="JavaScript"> var myDate = new Date();     myDate.getYear();       ...

  10. JAVA 进行图片中文字识别(准确度高)!!!

    OCR 识别文字项目 该项目 可以进行两种方式进行身份证识别 1. 使用百度接口 1.1 application-dev.yml配置 ocr: # 使用baiduOcr 需要有Ocr服务器 使用百度需 ...