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. MQTT简介-(转自cacard)

    MQTT - MQ Telemetry Transport   轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...

  2. 安装beanstalkd队列问题——No package beanstalkd available

    CentOS7.4安装beanstalkd 时无可用源 No package beanstalkd availableError:Nothing to do 可从以下获取:wget /etc/yum. ...

  3. Jquery 常用方法及实例(Day_15)

    想要做一件事,永远都不要怕晚.只要你开始做了,就不晚. 而若是你不开始,仅仅停留在思考.犹豫甚至焦虑的状态,那就永远都是零. mouseover() / mouserout() 当鼠标进入 / 离开某 ...

  4. 看完这篇还不懂 MySQL 主从复制,可以回家躺平了~

    大家好,我是小羽. 我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机. 这样我们保存在 MySQL 数据库的数据就会丢失,那么 ...

  5. GO汇编-函数

    GO汇编-函数 终于到函数了!因为Go汇编语言中,可以也建议通过Go语言来定义全局变量,那么剩下的也就是函数了.只有掌握了汇编函数的基本用法,才能真正算是Go汇编语言入门.本章将简单讨论Go汇编中函数 ...

  6. 【排除解决】System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误

    前言: 今天项目发布上线,发布到正式环境验证功能的时候忽然方向之前做的一个图片合成的功能报错了提示:System.Runtime.InteropServices.ExternalException ( ...

  7. springboot对mybatis的整合

    1. 导入依赖 首先新建一个springboot项目,勾选组件时勾选Spring Web.JDBC API.MySQL Driver pom.xml配置文件导入依赖 <!--mybatis-sp ...

  8. [leetcode] 117. 填充同一层的兄弟节点 II

    117. 填充同一层的兄弟节点 II 与116. 填充同一层的兄弟节点完全一样,二叉树的层次遍历..这是这次不是完美二叉树了 class Solution { public void connect( ...

  9. [leetcode] 212. 单词搜索 II(Java)

    212. 单词搜索 II 这leetcode的评判机绝对有问题!!同样的代码提交,有时却超时!害得我至少浪费两个小时来寻找更优的答案= =,其实第一次写完的代码就可以过了,靠!!!第207位做出来的 ...

  10. Python+Selenium学习笔记6 - 定位

    1.8种针对单个元素的定位方法 find_element_by_id() find_element_by_name() find_element_by_class_name() find_elemen ...