企业案例(二):增量恢复案例

1、环境准备

条件:

1.具备全量备份(mysqldump)。

2.除全量备份以外,还有全量备份之后产生的的所有binlog增量日志。

1.1、建立数据库和表

CREATE DATABASE dadong;
USE `dadong`;
CREATE TABLE `test` (`id` int(4) NOT NULL AUTO_INCREMENT,`name` char(20) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
INSERT INTO `test` VALUES (1,'dadong'),(2,'he'),(3,'inca'),(4,'zuma'),(5,'kaka');

1.2、建立备份目录

准备环境:
mkdir /data/backup -p
date -s "2017/06/22"

1.3、备份数据库

mysqldump -B --master-data=2 --single-transaction dadong|gzip>/data/backup/dadong_$(date +%F).sql.gz
备份数据库后插入几行数据。模拟没有备份全备,但是binlog存在记录时,恢复数据。
mysql -e "use dadong;insert into test values(6,'bingbing');"
mysql -e "use dadong;insert into test values(7,'xiaoting');"
mysql -e "select * from dadong.test;"

1.4、 模拟误删数据

date -s "2017/06/22 11:40"
mysql  -e "drop database dadong;show databases;"出现问题10分钟后,发现问题,删除了数据库了.

2、开始恢复准备

2.1、采用iptables防火墙屏蔽所有应用程序的写入

[root@dadong ~]# iptables -I INPUT -p tcp --dport 3306 ! -s 172.16.1.51 -j DROP #<==非172.16.1.51禁止访问数据库3306端口。

:此步操作目的是停止客户数据的写入,而并不是停止数据库

2.2、 操作前备份

cp -a /application/mysql/logs/dadong-bin.* /data/backup/

2.3、准备全量和增量备份文件

1.dadong_2017-06-22.sql(全量)
2.bin.sql(增量)

3、恢复过程

3.1、 恢复全备

[root@db02 backup]#zcat dadong_2017-06-22.sql.gz >dadong_2017-06-22.sql    ###解压全备文件
[root@db02 backup]# mysql <dadong_2017-06-22.sql
[root@db02 backup]# mysql -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| dadong             |
| he            |
| performance_schema |
+--------------------+[root@db02 backup]# mysql -e "use dadong;select * from test;"
+----+---------+
| id | name    |
+----+---------+
|  1 | dadong  |
|  2 | he |
|  3 | inca    |
|  4 | zuma    |
|  5 | kaka    |
+----+---------+

3.2、恢复增量

———————————以下正式恢复操作——————————————             
[root@db02 backup]#sed -n '22p'  dadong_2017-06-22.sql   ###获取binlog日志的起始地址339
[root@db02 backup]#mysqlbinlog -d dadong --start-position=339 dadong-bin.0000012 -r bin.sql   ##”-d” 指定查看哪个库;”-r” 指定binlog日志存放在哪个文件中。
[root@db02 backup]#grep -i drop bin.sql 
[root@db02 backup]#sed -i '/^drop.*/d' bin.sql   ###删除删库语句,防止恢复后又执行drop语句。
[root@db02 backup]# mysql dadong <bin.sql 
[root@db02 backup]# mysql -e "use dadong;select * from test;"
+----+----------+
| id | name     |
+----+----------+
|  1 | dadong   |
|  2 | he  |
|  3 | inca     |
|  4 | zuma     |
|  5 | kaka     |
|  6 | bingbing |
|  7 | xiaoting |
+----+----------+####注释:mysqlbinlog -d dadong dadong-bin.0000012 -r bin.sql   ###其中“dadong-bin.0000012”要根据最后相关操作时间(删库时间)来确定drop语句放在哪个binlog文件中,
并且binlog文件是二进制文件,必须使用mysqlbinlog进行操作后才能使用cat查看。

:此时如果没有执行sed -i '/^drop.*/d' bin.sql就会出现下面错误

3.3、 恢复完毕

最后一步特别重要,恢复完毕后,一定要调整iptables允许用户访问.

转载于:https://www.cnblogs.com/dadonggg/p/8618467.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gdc服务器维修公司,gdc服务器阵列架坏了

gdc服务器阵列架坏了 内容精选换一换本章节指导用户批量创建4块云硬盘&#xff0c;并挂载至云服务器。进入云硬盘页面。关于创建云硬盘的详细操作&#xff0c;请参见“云硬盘用户指南”。本示例为批量创建4块云硬盘&#xff0c;具体参数如图1所示。云硬盘规格支持任意用户(root…

Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)...

现象 打印任何一种包含有中文的对象&#xff0c;字典、列表、DataFrame、或字符串。比如&#xff1a; print(中文) 控制台报错&#xff1a; Traceback (most recent call last):File "printcn.py", line 1, in <module>print(\u4e2d\u6587) UnicodeEncodeError…

手机文件传云服务器,手机云服务器传文件

手机云服务器传文件 内容精选换一换华为云帮助中心&#xff0c;为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档&#xff0c;帮助您快速上手使用华为云服务。如果私钥文件丢失了&#xff0c;可以为服务器替换新的密钥对&a…

Experimental-work1

软件测试第一次实验报告 3015207191 软件工程3班 林家乐 一、安装Junit&#xff0c;Hamcrest和Eclemma: 1.安装Junit 下载junit.jar&#xff0c;在项目里添加junit.jar并build一下即可。使用时&#xff0c;在项目内包含Junit4的库&#xff0c;其中包含junit.jar即…

c 开发服务器的性能,高性能网络编程(三):下一个10年,是时候考虑C10M并发问题了...

1、前言在本系列文章的上篇中我们回顾了过云的10年里&#xff0c;高性能网络编程领域著名的C10K问题及其成功的解决方案(上篇请见&#xff1a;《高性能网络编程(二)&#xff1a;上一个10年&#xff0c;著名的C10K并发连接问题》)。本文将讨论单机服务器实现C10M(即单机千万并发…

puppet(2)-资源介绍

puppet- 资源介绍&#xff1a; 类型、属性与状态同实现方式分离、仅指定目标状态 type {title:attribute > value,...}查看支持的资源类型&#xff1a; puppet describe -lpuppet describe -s TYPEpuppet describe TYPE定义资源的要点&#xff1a; 1、同一种类型中…

无盘服务器磁盘缓存,云更新无盘服务器磁盘缓存器

云更新无盘服务器磁盘缓存器 内容精选换一换Linux操作系统下&#xff0c;用户由于误操作卸载弹性云服务器上的Tools&#xff0c;会对非PVOPS系统的磁盘和网卡产生影响&#xff0c;导致系统无法发现数据盘。此时&#xff0c;用户可通过新建一个弹性云服务器&#xff0c;将原数据…

【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址

地址&#xff1a;chromedriver官网下载地址&#xff1a; http://chromedriver.storage.googleapis.com/index.html&#xff08;失效了&#xff09; http://npm.taobao.org/mirrors/chromedriver/ IE浏览器驱动下载地址为&#xff1a;http://selenium-release.storage.googleapi…

云财经服务器维护,云财经服务器维护

云财经服务器维护 内容精选换一换云耀云服务器适用于对CPU、内存、硬盘空间和带宽无特殊要求&#xff0c;服务一般只需要部署在一台或少量的服务器上&#xff0c;一次投入成本少&#xff0c;后期维护成本低的场景。例如网站开发&#xff0c;Web应用。推荐使用云耀云服务器&…

字符编码和文件处理

字符编码 1、知识储备 cpu 内存 硬盘2 文本编辑器存原理 结论&#xff1a;在编写py的程序的时候&#xff0c;是没有语法的限制的&#xff0c;编辑的结果 跟编写一个普通的文本文件是没有任何区别&#xff0c; 只有把py程序交给python解释并且在运行的第三个阶段才有了 语言意义…

服务器lsass系统错误,Win7系统提示Lsass.exe系统错误的原因及解决

最近很多使用Win7系统用户反馈说开机提示lsass.exe系统错误&#xff0c;也不知道怎么回事?lsass.exe是什么进程&#xff0c;可能是病毒吗?带着这些疑问&#xff0c;下面小编告诉大家Win7系统提示Lsass.exe系统错误的原因及解决方法&#xff0c;希望本教程内容可以帮助到大家。…

鼠标移动或者鼠标点击div消失不见排查

点击事件&#xff0c;导致某div或者容器样式隐藏&#xff0c;如果不能直接发现click事件绑定&#xff0c;那么首先排查哪些方法在控制div的样式&#xff0c; 然后看一看哪些方法在调用修改样式的方法。 然后再排查什么在调用修改样式的方法的方法。顺藤摸瓜就知道问题所在了。 …

服务器proc文件,特殊文件系统proc

1&#xff0e; 对kern_mout()进行解析&#xff1a;(1) 调用函数get_unnamed_dev()为文件系统/proc文件系统分配一个设备号。(2) 调用函数read_super对应的函数proc_read_super()分配super_block,inode,dentry&#xff1b;(a)其中super_block是在函数read_super中新生成的;(b)in…

相对路径 web

http://www.jb51.net/web/21806.html 相对路径-以引用文件之网页所在位置为参考基础&#xff0c;而建立出的目录路径。因此&#xff0c;当保存于不同目录的网页引用同一个文件时&#xff0c;所使用的路径将不相同&#xff0c;故称之为相对。   绝对路径-以Web站点根目录为参考…

java基础英语---第一天

Path [ pɑ:θ ] 路径 class [klɑ:s] 类 classpath [klɑ:spɑ:θ ] 类路径 public [p ʌblik] 公共的,公用的 private [praivit] 私有的,私人的 static [st tik] 静的;静态的;静止的 void [vɔid] 空的,没有返回值的 main [mein] 主要的,重要的 System [sis…

洛谷.3919.[模板]可持久化数组(可持久化线段树/平衡树)

题目链接 //利用先前的根节点建树 想一下不难写。 #include <cstdio> #include <cctype> //#define gc() getchar() #define gc() (SSTT&&(TT(SSIN)fread(IN,1,MAXIN,stdin),SSTT)?EOF:*SS) const int N1e65,MAXIN2e6;int n,q,root[N],A[N]; char IN[MAXI…

anaconda下安装新包一直报错(‘parse() got an unexpected keyword argument 'transport_encoding'’)...

pip没有更新 解决方案&#xff1a;在prompt上输入 “ conda install pip ”转载于:https://www.cnblogs.com/Li---Chao/p/8641299.html

NFS服务端安装与配置

一、NFS介绍 NFS数据传输基于PRC协议&#xff0c;用于在网络上共享存储。 二、服务端配置NFS 1、服务端安装包 nfs-utils和rpcbind,使用yum安装nfs-utils时会一起安装rpcbind. yum install -y nfs-utils 2、创建配置文件 vim /etc/exports&#xff0c;写入以下内容&#xff1a…

HashMap的结构及源码分析

最近朋友说研究并发可以先从HashMap源码分析开始&#xff0c;所以就研究了下HashMap的结构和源码。 先从HashMap的结构开始。 我们都知道HashMap的用来存储key,value键值对数据的。既然是存储数据的&#xff0c;我们就得想一下数据存储的数据结构信息有哪些&#xff0c;我们所知…

【前端统计图】echarts实现单条折线图

五分钟上手&#xff1a;图片.png<!DOCTYPE html> <html><head><meta charset"utf-8"><title>五分钟上手之折线图</title><!-- 引入 echarts.js --><script src"js/echarts.min.js"></script><sc…