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

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…

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

手机云服务器传文件 内容精选换一换华为云帮助中心&#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(即单机千万并发…

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

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

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

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

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

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

相对路径 web

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

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…

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

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

JAVA高并发的三种实现

提到锁&#xff0c;大家肯定想到的是sychronized关键字。是用它可以解决一切并发问题&#xff0c;但是&#xff0c;对于系统吞吐量要求更高的话&#xff0c;我们这提供几个小技巧。帮助大家减小锁颗粒度&#xff0c;提高并发能力。 初级技巧-乐观锁 乐观锁使用的场景是&#…

进程同步(multiprocess.Lock、multiprocess.Semaphore、multiprocess.Event) day38

进程同步(multiprocess.Lock、multiprocess.Semaphore、multiprocess.Event) 锁 —— multiprocess.Lock 通过刚刚的学习&#xff0c;我们千方百计实现了程序的异步&#xff0c;让多个任务可以同时在几个进程中并发处理&#xff0c;他们之间的运行没有顺序&#xff0c;一旦开启…

Python杨辉三角

杨辉三角&#xff0c;是二项式系数在三角形中的一种几何排列&#xff0c;在中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲&#xff0c;帕斯卡&#xff08;1623----1662&#xff09;在1654年发现这一规律&#xff0c;所以这个表又叫做帕斯卡三角形。帕斯卡…

PHP 数据库连接池实现(转)

转自https://blog.csdn.net/Marksinoberg/article/details/53857511 摘要xml 读取配置文件 简易方式常规方式PHP解析XML 配置文件解析数据库连接池测试 申请过多时拒绝请求已满后拒绝放入总结此文着实无聊&#xff0c;不要浪费时间往下看啦 摘要 之前总是以脚本面向过程的方式…

批量处理JDBC语句提高处理速度

当需要成批插入或者更新记录时。可以采用Java的批量更新机制&#xff0c;这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率JDBC的批量处理语句包括下面两个方法&#xff1a;– addBatch(String)&#xff1a;添加需要批量处理的SQL语句或…

TCP close_wait内幕

最近调试时遇到一个tcp连接 一发交易server端就从es连接状态变成close_wait状态的问题。 tcp连接需要三次握手&#xff0c;而被动关闭连接则是需要四次握手的&#xff0c;不能说单方面关闭连接就是成功关闭连接了。 首先我们要搞清楚close_wait出现的机制和原理。 close_wai…

p-value

p-value p-value翻译为假定值&#xff0c;假设几率。我们在生物信息中通常使用p值方法&#xff08;P-Value, Probability, Pr&#xff09;来做检验。那么p-value是什么呢&#xff1f;其实P-value就是一种概率&#xff0c;表示在原假设为真的前提下出现观察样本以及更极端情况的…

面向对象初调用:foolish 电梯

本周我们完成的任务是傻瓜电梯的调度&#xff0c;对于那十分十分详细的指导书&#xff0c;我感觉想要说明白题目要求&#xff0c;是做不到的&#xff0c;所以就把指导书贴出来给大家看了&#xff0c;&#xff0c;由于在下还不会网页制作&#xff0c;只能通过百度网盘了&#xf…

Maven学习之(一)基本配置

安装maven还几次没成功&#xff0c;不过最后还是查资料成功了&#xff0c;所以记录一下。 1.安装JDK&#xff0c;比较简单&#xff0c;就不说明了。 2.配置java的环境变量 JAVA_HOME &#xff08;最开始因为java配置成C:\Program Files (x86)\Java\jdk1.8.0_144\bin 所以出问题…

浅学习使用Ribbon 和 Feign的理解和使用

Ribbon是Netflix公司开源的一个负载均衡的项目,是一个基于 HTTP、TCP的客户端负载均衡器. 什么是负载均衡? 负载均衡是微服务架构中必须使用的技术&#xff0c;通过负载均衡来实现系统的高可用、集群扩容等功能。负载均衡可通过 硬件设备及软件来实现&#xff0c;硬件比如&am…