9.11、mysql增量备份和增量恢复介绍
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增量备份和增量恢复介绍的更多相关文章
- MySQL完全备份、增量备份与恢复[转]
原文链接:http://www.360doc.com/content/11/1209/09/834950_170836197.shtml 场景:每周日执行一次完全备份,每天下午1点执行增量备份 [ 适 ...
- Xtrabackup 增量备份 和 增量还原
目录 测试数据准备 进行全量备份 第一次增量插入一条数据 进行第一次增量备份 注意 第二次增量插入一条数据 进行第二次增量备份 注意 查看xtrabackup_binlog_info中的binlog位 ...
- Mysql binlog备份数据及恢复数据,学会这个,我在也不怕删库跑路啦~
导读 我一直都主张,技多不压身(没有学不会的技术,只有不学习的人),多学一项技能,未来就少求人一次.网上经常听到xxx删库跑路,万一真的遇到了,相信通过今天的学习,也能将数据再恢复回来~~~ 当然啦, ...
- Mysql 一次性备份导出/导入恢复所有数据库
有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...
- 【转】mysql增量备份恢复实战企业案例
来源地址:http://seanlook.com/2014/12/05/mysql_incremental_backup_example/ 小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但 ...
- Centos 6.5 实战-MySQL定时增量备份(2)
首先在进行增量备份之前需要查看一下配置文件,查看 log_bin 是否开启,因为要做增量备份首先要开启 log_bin .首先,进入到 myslq 命令行,输入如下命令: [root@localhos ...
- 实战-MySQL定时增量备份(2)
概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了.所以要对我们的线上数 ...
- 利用增量备份恢复因归档丢失造成的DG gap
故障现象:data guard归档出现gap,悲剧的是丢失的归档在主库上被rman备份时删除了,丢失的归档大约有20几个,数据库大小约2T,如果重建DG将非常耗时间,因此决定利用增量备份的方式恢复DG ...
- MYSQL数据库自动本地/异地双备份/MYSQL增量备份
构建高安全电子商务网站之(网站文件及数据库自动本地/异地双备份)架构图 继续介绍Linux服务器文件备份,数据库备份,数据安全存储相关的电子商务系统架构.针对安全性有多种多样的解决方案,其中数据备份是 ...
随机推荐
- [刷题] PTA 查验身份证
题目: 7-63 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5, ...
- [Qt] 组件
组成一个Qt应用的基本元素 窗口(window):一个部件没有嵌入其他部件中,就把这个部件叫做窗口或顶层窗口,顶层窗口没有父窗口 控件(widget):一个窗口嵌入到其他窗口中,这些窗口就叫做控件或子 ...
- Zabbix 自动发现并监控磁盘IO、报警 引言
引言 Zabbix并没有提供模板来监控磁盘的IO性能,所以我们需要自己来创建一个,由于一台服务器中磁盘众多,如果只有一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用自动发现这个功能,自 ...
- Lua中的基本函数库--(转自忧郁的加菲猫)
基本函数库为Lua内置的函数库,不需要额外装载assert (v [, message])功能:相当于C的断言,参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息 ...
- STM32定时器配置
void TIM1_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDe ...
- 文字闪烁效果 CSS + HTML
文字闪烁效果 CSS 写在前面 好好学习,天天向上! 效果图 绝美的效果 实现过程 先给没字体添加一些普通的样式,颜色设置为透明 给文字设置一个动画效果,通过text-shadow属性来实现变亮的效果 ...
- 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 拓扑结构是怎么形成的? 一个交换机肯定不够用,需要多台交换机,交换机之间连接起来,就形成一个稍微复杂的拓扑结构. 如何解决常见的环路问题? 包转 ...
- MyBatis-编写自定义分页插件
一.基础知识 本文测试和源码分析参考版本: Mybatis-version:3.5.5 本文相关测试源代码:https://github.com/wuya11/mybatis_demo 1.1 参考方 ...
- jQuery选择器中的特殊符号和关键字
一般情况下,在jQuery选择器中,我们很少会用到诸如"."."#"."("."["等特殊字符,因为根据W3C规定,HT ...
- AI框架精要:设计思想
AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...