Mysql闪回技术之 binlog2sql
1.下载
https://github.com/danfengcao/binlog2sql
Search: python-pip
pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包。
2. 安装
1
2
3
4
5
6
7
|
# yum install python-setuptools -y # rpm -ivh python-pip-7.1.0-1.el6.noarch.rpm --rpmfind.net 下载上传安装 # pip install PyMySQL # pip install -r requirments.txt # pwd /usr/local/binlog2sql-master/binlog2sql-master # less README.md --这个必须要看个十遍,八遍的才行 |
3. 测试用例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(root@localhost) [kk]> create database roidba; Query OK, 1 row affected (0.00 sec) (root@localhost) [kk]> use roidba Database changed (root@localhost) [roidba]> create table roidba ( id int,name varchar(10)); Query OK, 0 rows affected (0.15 sec) (root@localhost) [roidba]> insert into roidba values(1, 'mysql' ); Query OK, 1 row affected (0.00 sec) (root@localhost) [roidba]> insert into roidba values(2, 'oracle' ); Query OK, 1 row affected (0.00 sec) (root@localhost) [roidba]> insert into roidba values(3, 'mariadb' ); Query OK, 1 row affected (0.00 sec) (root@localhost) [roidba]> delete from roidba; Query OK, 3 rows affected (0.01 sec) (root@localhost) [roidba]> select * from roidba; Empty set (0.00 sec) |
4. 创建闪回用户
1
2
3
4
5
|
(root@localhost) [roidba]> GRANT SELECT,REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO flashback@ '%' identified by 'flashback' ; Query OK, 0 rows affected (0.04 sec) (root@localhost) [roidba]> flush privileges; Query OK, 0 rows affected (0.05 sec) |
5. 闪回的要求
1
2
3
4
5
6
7
8
9
10
|
1)知道大概的时间点2017-01-12 18:00 ~ 2017-01-12 18:00 2)知道binlog信息 (root@localhost) [roidba]> show binary logs; +------------------+----------------+ | Log_name | File_size | +------------------+----------------+ | mysql-bin.000001 |3828 | | mysql-bin.000002 | 238 | | mysql-bin.000003 |1231 | +------------------+---------------+ |
6. 解析
1
2
3
4
5
6
7
8
9
10
11
12
|
--binlog中解析的sql [root@mysql-121 binlog2sql-master] # python binlog2sql/binlog2sql.py -h192.168.80.132 -P3306 -uflashback -pflashback -droidba -troidba --start-file='mysql-bin.000003' --start-datetime='2017-01-12 18:00:00' --stop-datetime='2017-01-12 18:30:00' INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (1, 'mysql' ); #start 239 end 413 time 2017-01-12 18:10:54 INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (2, 'oracle' ); #start 492 end 667 time 2017-01-12 18:11:00 INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (3, 'mariadb' ); #start 746 end 922 time 2017-01-12 18:11:08 DELETE FROM `roidba`.`roidba` WHERE ` id `=1 AND `name`= 'mysql' LIMIT 1; #start 1001 end 1200 time 2017-01-12 18:11:14 DELETE FROM `roidba`.`roidba` WHERE ` id `=2 AND `name`= 'oracle' LIMIT 1; #start 1001 end 1200 time 2017-01-12 18:11:14 DELETE FROM `roidba`.`roidba` WHERE ` id `=3 AND `name`= 'mariadb' LIMIT 1; #start 1001 end 1200 time 2017-01-12 18:11:14 USE roidba; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'flashback' @ '%' IDENTIFIED BY PASSWORD '*6DE874C277DDA35061BD526FB38B6A3C8B3A9254' ; USE roidba; flush privileges; |
7. 闪回
1
2
3
4
5
6
7
8
|
--闪回sql # python binlog2sql/binlog2sql.py -h192.168.80.132 -P3306 -uflashback -p'flashback' -droidba -troidba --start-file='mysql-bin.000003' --start-position=1001 --stop-position=1200 -B > rollback.sql [root@mysql-121 binlog2sql-master] # less rollback.sql INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (3, 'mariadb' ); #start 1001 end 1200 time 2017-01-12 18:11:14 INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (2, 'oracle' ); #start 1001 end 1200 time 2017-01-12 18:11:14 INSERT INTO `roidba`.`roidba`(` id `, `name`) VALUES (1, 'mysql' ); #start 1001 end 1200 time 2017-01-12 18:11:14 --开始回滚 [root@mysql-121 binlog2sql-master] # mysql -ubackup -pbackup -h192.168.80.132 <./rollback.sql --具有插入权限才可以 |
8.验证
自己多测试,多动手,看别人做很简单,其实真的自己上手就不一定了,少说多做,少扯淡。
Mysql闪回技术之 binlog2sql的更多相关文章
- (4.11)mysql备份还原——mysql闪回技术(基于binlog)
0.闪回技术与工具简介 mysql闪回工具比较流行三大类: [0.1]官方的mysqlbinlog:支持数据库在线/离线,用脚本处理binlog的输出,转化成对应SQL再执行.通用性不好,对正则.se ...
- MySQL 闪回工具之 binlog2sql
生产上误删数据.误改数据的现象也是时常发生的现象,作为 DBA 这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,对于大表少数数据的修复来讲,动作太 ...
- Mysql闪回工具之binlog2sql的原理及其使用
生产上误删数据.误改数据的现象也是时常发生的现象,作为运维这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,对于大表少数数据的修复来讲,动作太大,成 ...
- MySQL闪回工具之binlog2sql
一.binlog2sql 1.1 安装binlog2sql git clone https://github.com/danfengcao/binlog2sql.git && cd b ...
- mysql 闪回原理
利用MySQL闪回技术恢复误删除误更改的数据 笔者相信很多人都遇到过忘带where条件或者where条件漏写了一个和写错了的情况,结果执行了delete/update后把整张表的数据都给改了.传统的解 ...
- Mysql 之闪回技术 binlog2sql
1.下载 https://github.com/danfengcao/binlog2sql http://rpmfind.net Search: python-pip pip 是一个Python包管理 ...
- MySQL闪回工具之myflash 和 binlog2sql
MySQL闪回工具之:binlog2sql https://github.com/danfengcao/binlog2sql MYSQL Binglog分析利器:binlog2sql使用详解 :h ...
- mysql闪回工具--binlog2sql实践
DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据.此法费时费力,甚至需要停机维护 ...
- MySQL闪回原理与实战
本文将介绍闪回原理,给出笔者的实战经验,并对现存的闪回工具作比较. DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除 ...
随机推荐
- [Android Memory] Android内存管理、监测剖析
转载自:http://blog.csdn.net/anlegor/article/details/23398785 Android内存管理机制: Android内存管理主要有:LowMemory Ki ...
- iOS:Masonry介绍与使用
Masonry介绍与使用实践:快速上手Autolayout frame----->autoresing------->autoLayout-------->sizeClasses ...
- javascript快速入门26--XPath
XPath 简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 ...
- EL表达式介绍(1)
1. 产生背景: 在MVC体系结构中,JSP页面只是用来显示数据,但JSP脚本中的表达式功能不够强大,它不能直接对隐式对象中某对象的属性进行显示,需要配合 scriptlet才能显示数据,很是麻烦,如 ...
- python 创建类先执行metaclass父类__new__ > __init__>__call__ 然后再执行自己的__new__>__init__
class MyType(type): def __init__(self,*args,**kwargs): print("Mytype __init__",*args,**kwa ...
- 手机SD卡损坏补救措施
现在的应用程序越来越重,比如微信.来往之类的,稍微用一段时间,就会占用几十MB甚至上百MB的空间.而有时候甚至手机会出现"无响应"的现象,需要你选择"继续等待" ...
- What most young programmers need to learn
In the past 7.5 years I have supervised over a dozen programming interns at Ronimo and have seen hun ...
- 每日一个机器学习算法——k近邻分类
K近邻很简单. 简而言之,对于未知类的样本,按照某种计算距离找出它在训练集中的k个最近邻,如果k个近邻中多数样本属于哪个类别,就将它判决为那一个类别. 由于采用k投票机制,所以能够减小噪声的影响. 由 ...
- hdu 5294 Tricks Device 最短路建图+最小割
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5294 Tricks Device Time Limit: 2000/1000 MS (Java/Other ...
- CSDN下载频道于2014年7月17日改版,23日-24日系统维护
尊敬的用户你们好: CSDN于2005年推出了下载服务,经过数年的发展,下载频道的用户已经为无数用户提供了帮助.分享500万的技术资源. 感谢用户们的资源共享精神,以及对CSDN下载频道的支持 下载频 ...