mysql binlog 备份恢复数据_Mysql结合备份+binlog恢复误删除操作数据

结合备份+binlog恢复数据。

场景:昨天晚上做了全备,今天上午用户不小心误删除某张表。

解决方案:不建议在原生产环境直接恢复,建议在另一台机器恢复全库+日志,然后导入到生产环境。

3bfbfd32a04b76591f124ad93be3abfa.png

1) 创建表select now();

create table itpuxfg1 (

`id` int(10) unsigned not null auto_increment,

`name` varchar(16) not null,

`sex` enum('m','w') not null default 'm',

`age` tinyint(3) unsigned not null,

primary key (`id`)

) engine=innodb default charset=utf8;

insert into itpux.itpuxfg1(`name`,`sex`,`age`) values

('itpux1','w',21),

('itpux2','m',22),

('itpux3','w',23),

('itpux4','m',24),

('itpux5','w',25);

commit;

select * from itpux.itpuxfg1;

2)做备份 逻辑备份mysqldump -uroot -p -F -R --all-databases > alldb_bak.sql

3) 模拟上午的业务操作show master status; -- 154

select now(); -- 2018-04-27 06:27:40

update itpux.itpuxfg1 set name='itpux04' where id=4;

commit;

select * from itpux.itpuxfg1;

select now(); -- 2018-04-27 06:28:03

update itpux.itpuxfg1 set name='itpux05' where id=5;

commit;

select * from itpux.itpuxfg1;

show master status; -- 890

4) 中午的误删除select now(); -- 2018-04-27 06:29:00

drop table itpuxfg1;

select * from itpux.itpuxfg1;

show master status; -- 1078

5) 在另一台机器恢复(我的案例在本地,生产不要在本地)

show master status;通过这个文件名,向前备份需要的binlog

--记得拷贝binlog日志

show binlog events in 'itpuxdb-binlog.000003';

mysqlbinlog itpuxdb-binlog.000003 |grep "DROP TABLE"

mysqlbinlog itpuxdb-binlog.000003 |grep "itpuxfg1"(注意日志 两个不同的版本 请区分)

22a2aa415076806887825caa305d31eb.png

fec365850ccaddf34ab58a00017a6d66.png

演示:

把itpux 库删除drop database itpux;

恢复:

先创建数据库:

mysql> create database itpux default character set utf8; -- 如果不清楚条件,建议在原库查询show create database mysql;

mysql -uroot -p -o itpux < alldb_bak.sql

-- 恢复后,查不到今天上午更新的记录

mysql> show tables;

ad45382035fa10efcfed1f2feae75805.png

-- 通过binlog 日志增量恢复表删除之前

[root@mysqldb binlog]# mysqlbinlog -vv --start-position=219 --stop-position=913 --database=itpux itpuxdb-binlog.000001 >sa.sql

-- 恢复这张表到原库里面

先从另外的库里备份这张表

mysqldump -uroot -p itpux itpuxfg1 > sa.sql

再把生产库,直接恢复(原来的库中的表是已经被删除掉了)

mysql -uroot -p itpux < sa.sql

mysql> select * from itpuxfg1;

1)恢复到这张表到源库里

mysqldump -uroot -p itpux itpuxfg1 >sa.sql

相关推荐:

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

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

相关文章

你们也只剩下点赞的交情

作者|北及企鹅 微信|叁禁 01 你们有没有这样的朋友&#xff0c;他们在你的世界里扮演着退化的角色。 也许友谊的开始只是小学一年级的时候他对你说了一声“我也喜欢看小丸子。”你们就手拉手肩并肩当了很久的密友。 也许是因为初中那次你俩都没交作业一起在楼道罚站&#xff0…

IBM® Bluemix 上运行ASP.NET Core

IBM Bluemix 上的“ASP.NET 核心”运行时采用“ASP.NET 核心”buildpack 技术。“ASP.NET 核心”是用于构建 .NET Web 应用程序的模块化开放式源代码框架。“.Net 核心”是跨平台的小型运行时&#xff0c;可由“ASP.NET 核心”应用程序实现。将它们相结合可实现基于云的先进 We…

拦截器 和过滤器

https://blog.csdn.net/zxd1435513775/article/details/80556034 拦截器&#xff08;Interceptor&#xff09;和过滤器&#xff08;Filter&#xff09;的执行顺序和区别 2018年06月03日 13:31:00 止步前行 阅读数&#xff1a;2871 标签&#xff1a; FilterInterceptorControll…

解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

转载自 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别 标准Http协议支持六种请求方法&#xff0c;即&#xff1a; 1、GET 2、POST 3、PUT 4、Delete 5、HEAD 6、Options 但其实我们大部分情况下只用到了GET和POST。如果想设计一个符合RESTful规范的web…

攻城掠地端mysql_【图片】攻城掠地单机版本服务端+攻城掠地GM工具【单兆权吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼player_wepon 兵器 宝石修改&#xff0e;1&#xff0c;为1级宝石  1001&#xff0c;1级晶石修改最好手动修改&#xff0c;手自进阶  最多改六个一多出错player_tickets  点卷改修activity    活动表store_house  背包表p…

同步和异步有何异同,什么场景使用

同步和异步有何异同&#xff0c;什么场景使用&#xff0c;举例说明&#xff01; 2016年11月30日 18:47:26 qq_36179561 阅读数&#xff1a;1752更多 个人分类&#xff1a; 基础知识 同步:发送一个请求,等待返回,然后再发送下一个请求 异步:发送一个请求,不等待返回,随时可以…

面试经历---YY欢聚时代

转载自 面试经历---YY欢聚时代&#xff08;2015年11月21日上午初试、25日下午复试&#xff09;YY欢聚时代一年多前去面试过一次&#xff0c;当时鄙视了&#xff0c;在现在的公司呆了1年半了&#xff0c;感觉做得很不爽&#xff0c;而且薪资又不满意&#xff0c;所以想找个新工…

走进异步编程的世界 - 开始接触 async/await

序 这是学习异步编程的入门篇。 涉及 C# 5.0 引入的 async/await&#xff0c;但在控制台输出示例时经常会采用 C# 6.0 的 $"" 来拼接字符串&#xff0c;相当于string.Format() 方法。 目录 Whats 异步&#xff1f;async/await 结构What’s 异步方法&#xff1f; 一、…

所有的软弱,都是昂贵的

作者&#xff1a;周冲 来源&#xff1a;周冲的影像声色&#xff08;fuck_your_dick&#xff09; 01 契诃夫有一个小说&#xff0c;名叫《柔弱的人》&#xff0c;讲一个主人&#xff0c;巧立名目&#xff0c;剥夺家庭教师的工资。 首先&#xff0c;他压缩掉她的周末&#xff0c…

python3中urlopen_解决python3 urllib中urlopen报错的问题

前言最近更新了Python版本&#xff0c;准备写个爬虫&#xff0c;意外的发现urllib库中属性不存在urlopen&#xff0c;于是各种google&#xff0c;然后总结一下给出解决方案问题的出现AttributeError: module object has no attribute urlopen问题的解决途径我们先来看下官方文档…

100+经典Java面试题及答案解析

转载自 100经典Java面试题及答案解析面向对象编程&#xff08;OOP&#xff09;Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点&#xff1a; 代码开发模块化&#xff0c;更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代…

.NET HttpClient的缺陷和文档错误让开发人员倍感沮丧

设计错误、缺陷及文档错误等导致正确使用.NET HttpClient变得出奇地困难。所以&#xff0c;即使是生产环境中看似运行正常的应用程序&#xff0c;在负荷不满的情况下&#xff0c;也遭受着性能问题和运行时故障。 来自ASP.NET Monsters的Simon Timms就通过一篇题为“你正在错误地…

python监听剪贴板_Python监听剪切板实现方法代码实例

第一种import win32clipboardimport time#速度快 容易出错class niubi():def lihai(self):while True:#jianting().main()t jianting().main()print(t)class jianting():def clipboard_get(self):"""获取剪贴板数据"""win32clipboard.OpenClipb…

新闻发布项目——业务逻辑层(UserService)

package bdqn.newsManageServlet.Service;import bdqn.newsManageServlet.entity.User;/*** 用户信息* author Administrator**/ public interface UserService {public User getLoginUser(String uName,String pwd, String msg);}

二叉树总结挺好的很好记忆

https://blog.csdn.net/fightforyourdream/article/details/16843303 面试大总结之二&#xff1a;Java搞定面试中的二叉树题目 2013年11月20日 14:04:27 chiiis 阅读数&#xff1a;25438更多 个人分类&#xff1a; AlgorithmInterview 这是本系列的第二篇&#xff0c;与前一…

免费开源分布式系统日志收集框架 Exceptionless

前言 从去年就答应过Eric&#xff08;Exceptionless的作者之一&#xff09;&#xff0c;在中国会帮助给 Exceptionless 做推广&#xff0c;但是由于各种原因一直没有做这件事情&#xff0c;在此对Eric表示歉意。:) Exceptionless 简介 Exceptionless 是一个开源的实时的日志收集…

如何安装mysql5.5.6_centos6安装mysql5.5.53

MysqL官网下载MysqL的red hat linux安装包下载地址为&#xff1a;http://dev.MysqL.com/downloads/MysqL/5.5.html#downloads下载后的文件为&#xff1a;MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar解压 tar 包 &#xff1a;tar -xvf MysqL-5.5.53-1.el7.x86_64.rpm-bundle.tar移…

java职业规划

百度搜索java职业规划好多啊啊啊

避免同步死锁

翻译自 避免同步死锁在我之前的文章“ Double-Checked Locking&#xff1a;Clever&#xff0c;but Broken ”&#xff08;JavaWorld&#xff0c;2001年2月&#xff09;&#xff0c;我描述了几种常用的避免同步的技术实际上是不安全的&#xff0c;并建议了一个“如有疑问&#…

程序员小测试:保守派 vs 自由派

最近&#xff0c;我在阅读 Steve Yegg 的文集《程序员的呐喊》。 这是一本非常有趣的书&#xff0c;里面甚至包含了一个小测试&#xff08;原文&#xff09;&#xff0c;区分一个程序员到底是保守派还是自由派。 下面一共有十个问题&#xff0c;每个问题都有 A 和 B 两个选项&a…