mysql闪回工具下载_MySQL闪回工具之myflash 和 binlog2sql
实践
利用binlog2sql查询两个binlog之间的SQL:必须是两个binlog日志,指定start-file和stop-file
binlog2sql -h127.0.0.1 -P3309 -udba -p'xxxxxx' -dsakila -t employee --start-file='mysql-bin.000112' --stop-file='mysql-bin.000113' > /tmp/db.sql
利用binlog2sql查询两个binlog之间的闪回SQL:
binlog2sql --flashback -h127.0.0.1 -P3309 -udba -p'xxxxxx' -dsakila -t employee --start-file='mysql-bin.000112' --stop-file='mysql-bin.000113' > /tmp/flashback.sql
美团点评MyFlash工具https://github.com/Meituan-Dianping/MyFlash
http://blog.itpub.net/29987453/viewspace-2151627
数据恢复测试案例DELETE:
1)在sakila库,删除actors表的actor_id < 6的数据
mysql> use sakila;
Database changed
mysql> select * from actors limit 10;
+----------+------------+--------------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+--------------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | ED | CHASE | 2006-02-15 04:34:33 |
| 4 | JENNIFER | DAVIS | 2006-02-15 04:34:33 |
| 5 | JOHNNY | LOLLOBRIGIDA | 2006-02-15 04:34:33 |
| 6 | BETTE | NICHOLSON | 2006-02-15 04:34:33 |
| 7 | GRACE | MOSTEL | 2006-02-15 04:34:33 |
| 8 | MATTHEW | JOHANSSON | 2006-02-15 04:34:33 |
| 9 | JOE | SWANK | 2006-02-15 04:34:33 |
| 10 | CHRISTIAN | GABLE | 2006-02-15 04:34:33 |
+----------+------------+--------------+---------------------+
10 rows in set (0.00 sec)
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000005 | 120 |
| mysql-bin.000006 | 120 |
+------------------+-----------+
2 rows in set (0.00 sec)
mysql> delete from actors where actor_id < 6;
Query OK, 5 rows affected (0.00 sec)
mysql> select * from actors limit 10;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+-----------+---------------------+
| 6 | BETTE | NICHOLSON | 2006-02-15 04:34:33 |
| 7 | GRACE | MOSTEL | 2006-02-15 04:34:33 |
| 8 | MATTHEW | JOHANSSON | 2006-02-15 04:34:33 |
| 9 | JOE | SWANK | 2006-02-15 04:34:33 |
| 10 | CHRISTIAN | GABLE | 2006-02-15 04:34:33 |
| 11 | ZERO | CAGE | 2006-02-15 04:34:33 |
| 12 | KARL | BERRY | 2006-02-15 04:34:33 |
| 13 | UMA | WOOD | 2006-02-15 04:34:33 |
| 14 | VIVIEN | BERGEN | 2006-02-15 04:34:33 |
| 15 | CUBA | OLIVIER | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
10 rows in set (0.00 sec)
mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000005 | 120 |
| mysql-bin.000006 | 4836 |
+------------------+-----------+
2 rows in set (0.00 sec)
2)确定binlog 确认start position、stop position
[root@prod logs]#mysqlbinlog --base64-output=decode-rows -v -d sakila mysql-bin.000006 > /tmp/delactors.sql
BEGIN
/*!*/;
# at4601#181019 8:40:49 server id 33051132 end_log_pos 4660 CRC32 0x9c986f17 Table_map: `sakila`.`actors` mapped to number 94# at4660#181019 8:40:49 server id 33051132 end_log_pos 4805 CRC32 0x5839b8ff Delete_rows: table id 94flags: STMT_END_F
###DELETE FROM`sakila`.`actors`
###WHERE###@1=1 /*SHORTINT meta=0 nullable=0 is_null=0*/###@2='PENELOPE' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@3='GUINESS' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@4=1139949273 /*TIMESTAMP(0) meta=0 nullable=0 is_null=0*/###DELETE FROM`sakila`.`actors`
###WHERE###@1=2 /*SHORTINT meta=0 nullable=0 is_null=0*/###@2='NICK' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@3='WAHLBERG' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@4=1139949273 /*TIMESTAMP(0) meta=0 nullable=0 is_null=0*/###DELETE FROM`sakila`.`actors`
###WHERE###@1=3 /*SHORTINT meta=0 nullable=0 is_null=0*/###@2='ED' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@3='CHASE' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@4=1139949273 /*TIMESTAMP(0) meta=0 nullable=0 is_null=0*/###DELETE FROM`sakila`.`actors`
###WHERE###@1=4 /*SHORTINT meta=0 nullable=0 is_null=0*/###@2='JENNIFER' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@3='DAVIS' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@4=1139949273 /*TIMESTAMP(0) meta=0 nullable=0 is_null=0*/###DELETE FROM`sakila`.`actors`
###WHERE###@1=5 /*SHORTINT meta=0 nullable=0 is_null=0*/###@2='JOHNNY' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@3='LOLLOBRIGIDA' /*VARSTRING(135) meta=135 nullable=0 is_null=0*/###@4=1139949273 /*TIMESTAMP(0) meta=0 nullable=0 is_null=0*/# at4805#181019 8:40:49 server id 33051132 end_log_pos 4836 CRC32 0xa24d4dbb Xid = 143
COMMIT/*!*/;
# at4836# at4915#181019 8:45:55 server id 33051132 end_log_pos 4962 CRC32 0xf0172e13 Rotate to mysql-bin.000007 pos: 4
COMMIT /*added by mysqlbinlog*//*!*/;
DELIMITER ;
#End of log file
binlog
3)生成闪回binlog_output_base.flashback文件
binlog的偏移量
start-positon=4601
stop-position=4962
[root@prod logs]# flashback --binlogFileNames=/data/mysql_33051/logs/mysql-bin.000006 --start-position=4601 --stop-position=4962
[root@prod logs]# ls
binlog_output_base.flashback
4)闪回数据
[root@cgdb logs]#mysqlbinlog --skip-gtids /data/mysql_33051/logs/binlog_output_base.flashback |mysql -uroot -p -S /data/mysql_33051/run/mysql.sock
验证恢复的数据:
mysql> use sakila;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from actors limit 10;
+----------+------------+--------------+---------------------+
| actor_id | first_name | last_name | last_update |
+----------+------------+--------------+---------------------+
| 1 | PENELOPE | GUINESS | 2006-02-15 04:34:33 |
| 2 | NICK | WAHLBERG | 2006-02-15 04:34:33 |
| 3 | ED | CHASE | 2006-02-15 04:34:33 |
| 4 | JENNIFER | DAVIS | 2006-02-15 04:34:33 |
| 5 | JOHNNY | LOLLOBRIGIDA | 2006-02-15 04:34:33 |
| 6 | BETTE | NICHOLSON | 2006-02-15 04:34:33 |
| 7 | GRACE | MOSTEL | 2006-02-15 04:34:33 |
| 8 | MATTHEW | JOHANSSON | 2006-02-15 04:34:33 |
| 9 | JOE | SWANK | 2006-02-15 04:34:33 |
| 10 | CHRISTIAN | GABLE | 2006-02-15 04:34:33 |
+----------+------------+--------------+---------------------+
10 rows in set (0.00 sec)
actors表的actor_id < 6的数据,已经恢复!
mysql闪回工具下载_MySQL闪回工具之myflash 和 binlog2sql相关推荐
- mysql的sql优化工具下载_MySQL SQL查询优化工具EverSQL
概述 一般来说,SQL查询优化器分析给定查询的许多选项,预估每个选项的成本,最后选择成本最低的选项.如果查询优化器选择了错误的计划,则性能差异可能从几毫秒到几分钟.幸运的是,现在有许多第三方SQL查询 ...
- mysql数据万能导入工具下载_mysql数据导入工具下载 - 数据导入工具(EMS Data Export for MySQL) v3.7.0多语特别版下载 - 第九软件网...
EMS Data Export for MySQL多语特别版是一款交叉平台的数据库导入工具,可以快速地从MS Excel 97-2007, MS Access, DBF, XML, TXT, CSV, ...
- php mysql 性能测试工具下载_MySQL压力测试工具_MySQL
bitsCN.com MySQL压力测试工具 mysqlslap --create-schema=example --query="SELECT * FROM group_message f ...
- dll修复工具下载,dll修复工具注意事项
Dll文件的缺失相信很多人都遇见过吧,只要缺失了一个这样的dll文件,我们的游戏或者软件程序就启动不了了,所以我们就需要去修复它,目前修复有几种方法,最简单的,最适合电脑小白的,那就是dll修复工具了 ...
- mysql ver 14.14下载_MySQL简介及安装 mysql Ver 14.14 Distrib 5.7.28
1.MySQL简介 1.数据库产品演变 第一代数据库架构: RDBMS 关系型数据库时代 : 合的时代 代表产品 :Oracle .MSSQL .MySQL.SQL server 第二代数据库架构:拆 ...
- mysql更新数据能回滚吗_MySQL数据回滚-误更新和删除时快速恢复
这世界上有后悔药 – www.houhuiyao.cc 后悔药数据恢复 站长语 前面的内容也提到过update或delete误更新删除了数据后如何恢复.实际生产环境中常常因各种不同场景导致一些办法有效 ...
- mysql的回滚机制_mysql事务回滚机制概述
应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码: 2 连接数据库,验证密码: 3 验证成功,获得用户信息,比如存款余额等: 4 用户输入需要取款的金额,按下确认键: ...
- mysql卸载工具下载_MySQL的卸载、下载与安装
MySQL的卸载 1.首先普通卸载方式卸载MySQL软件 2.然后找到安装路径下的MySQL文件夹,将MySQL文件夹删除 3.C盘下有隐藏的Programdata文件夹,找到里面的MySQL文件夹将 ...
- mysql自带的卸数工具_数据库卸数必备工具下载-数据库数据导出工具(DBexport)下载v1.3官方版-西西软件下载...
DBexport是一款专业的数据库数据导出工具,支持多数据源导出,目前已测试Oracle,MySQL,SQL_SERVER无明显BUG,目前支持图片种的数据库,支持扩展功能,只要有对应的数据库jar和 ...
最新文章
- Matlab与线性代数 -- 矩阵的重组1
- c语言程序设计第3周编程作业(数字特征)
- Cortex-M3 内部寄存器
- 【DND图形库】一、简介与环境配置
- Apache Shiro:简化应用程序安全性
- oracle 列 连续,sql 查寻某列连续的几个值是否相同
- 终于有人做了一款新时代的搜索引擎
- 01背包 hihocoder第六周
- SQL注入攻击及防御详解
- WinForm应用实战开发指南 - 快速开发一个WinForm应用系统
- excel图表模板免费下载_40个免费的信息图表模板下载
- PS制作视频字幕教程
- 设置font标签居中显示
- python面向对象编程思想_面向对象编程思想及其特点
- 错过直播不用急,回顾小视科技工业级静默活体检测算法解读,视频已备好
- JavaScript函子(随笔)
- 【Python】cmd指令安装python第三方库的几种方法
- JavaScript里面实现12小时制的时分秒转化成24小时制的时分秒
- 经典推荐算法之协同过滤
- hexo提交报错 unable to access ‘https://github.com/*/*.github.io.git/‘: Couldn‘t resolve host ‘github.com
热门文章
- 在Linux和Windows的Docker容器中运行ASP.NET Core
- spark java 逻辑回归_逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件
- [转]数据结构KMP算法配图详解(超详细)
- 贪心算法之高级钟点秘书会议安排问题
- linux之vifm和ranger操作文件管理器使用总结
- C和C++语言编程里面常用函数或者编程技巧总结(不断更新)
- 释放内存软件_原来苹果手机这样清理内存,可以释放大量空间,真是太好用了...
- python 读行为数组_python将多列文件读入数组
- 不当败家子的原因......
- 钟南山团队在患者粪便中检出新冠活病毒,国家卫健委回应!专家:做好这事很重要...