广告
返回顶部
首页 > 资讯 > 数据库 >MyFlash 回滚mysql binlog
  • 715
分享到

MyFlash 回滚mysql binlog

2024-04-02 19:04:59 715人浏览 薄情痞子
摘要

简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 安装:gi

简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。

安装:
git clone https://GitHub.com/Meituan-Dianping/MyFlash.git
cd MyFlash
GCc -w pkg-config --cflags --libs glib-2.0 source/binlogParseGlib.c -o binary/flashback
cd binary
./flashback --help --查看帮助

使用:
下面的这些参数是可以任意组合的。

* 1.databaseNames

指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。

  • 2.tableNames
    指定需要回滚的表名。多个表可以用“,”隔开。如果不指定该参数,相当于指定了所有表。
  • 3.start-position
    指定回滚开始的位置。如不指定,从文件的开始处回滚。请指定正确的有效的位置,否则无法回滚
  • 4.stop-position
    指定回滚结束的位置。如不指定,回滚到文件结尾。请指定正确的有效的位置,否则无法回滚
  • 5.start-datetime
    指定回滚的开始时间。注意格式必须是 %Y-%m-%d %H:%M:%S。 如不指定,则不限定时间
  • 6.stop-datetime
    指定回滚的结束时间。注意格式必须是 %Y-%m-%d %H:%M:%S。 如不指定,则不限定时间
  • 7.sqlTypes
    指定需要回滚的sql类型。目前支持的过滤类型是INSERT, UPDATE ,DELETE。多个类型可以用“,”隔开。
  • 8.maxSplitSize
    一旦指定该参数,对文件进行固定尺寸的分割(单位为M),过滤条件有效,但不进行回滚操作。该参数主要用来将大的binlog文件切割,防止单次应用的binlog尺寸过大,对线上造成压力
  • 9.binlogFileNames
    指定需要回滚的binlog文件,目前只支持单个文件,后续会增加多个文件支持
  • 10.outBinlogFileNameBase
    指定输出的binlog文件前缀,如不指定,则默认为binlog_output_base.flashback
  • 11.logLevel
    仅供开发者使用,默认级别为error级别。在生产环境中不要修改这个级别,否则输出过多
  • 12.include-gtids
    指定需要回滚的gtid,支持gtid的单个和范围两种形式。
  • 13.exclude-gtids
    指定不需要回滚的gtid,用法同include-gtids

测试
/root/test/MyFlash/binary/flashback --binlogFileNames=/Mysqllog/mysql-bin.000011 --start-datetime="2018-01-04 13:50:00" --stop-datetime="2018-01-04 14:35:00" --databaseNames=test --tableNames=test_tb --sqlTypes='UPDATE','DELETE' --outBinlogFileNameBase=test_tb
mysqlbinlog --no-defaults --base64-output=decode-rows -vv binlog_output_base.flashback --查看回滚sql
mysqlbinlog --no-defaults binlog_output_base.flashback |mysql -uroot -pyourpass --执行恢复
可以在.bash_profile增加
alias flashback="/root/test/MyFlash/binary/flashback"
以后即可这样使用
flashback --binlogFileNames=/mysqllog/mysql-bin.000011 --start-datetime="2018-01-04 13:50:00" --stop-datetime="2018-01-04 14:35:00" --databaseNames=test --tableNames=test_tb --sqlTypes='UPDATE','DELETE' --outBinlogFileNameBase=test_tb

您可能感兴趣的文档:

--结束END--

本文标题: MyFlash 回滚mysql binlog

本文链接: https://www.lsjlt.com/news/38027.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MyFlash 回滚mysql binlog
    简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 安装:gi...
    99+
    2022-10-18
  • [MySQL]mysql binlog回滚数据
    先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的xxx/xx...
    99+
    2021-12-01
    [MySQL]mysql binlog回滚数据
  • 【MySQL】利用binlog回滚DML操作
    简介:数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪回DML操作。 条件: 1.mysql binlog必须存在且是row...
    99+
    2022-10-18
  • MyFlash MySQL闪回工具
    安装:环境要求:1、binlog格式必须为row,且binlog_row_image=full2、仅支持5.6与5.73、只能回滚DML(增、删、改) 下载地址:https://github.com/Me...
    99+
    2022-10-18
  • mysql通过binlog恢复或回滚数据
    前言 近期项目开发中出现了一次误删的操作,于是在网上查找了mysql的回滚操作,这里记录一下。 简单说下binlog,binlog是mysql中的二进制日志,其记录了数据库发生更改的各种变化。所以通过binlog可以回滚或者恢复失误的操作。...
    99+
    2023-08-31
    mysql mysqlbinlog binlog2sql mysql回滚
  • mysql中delete误删除如何利用binlog回滚
    这篇文章主要介绍mysql中delete误删除如何利用binlog回滚,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! mysql> se...
    99+
    2022-10-18
  • MyFlash——美团点评的开源MySQL闪回工具
    由于运维、DBA的误操作或是业务bug,我们在操作中时不时会出现误删除数据情况。早期要想恢复数据,只能让业务人员根据线上操作日志,构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管那种,都非...
    99+
    2022-05-23
    MySQL SQL 开源 MySQL
  • mysql让数据库表的数据回滚,mysql如何回滚数据
    mysql不小心批量update,请问如何数据回滚 首先确定执行update语句时是否设置成的非自动提交,若设置了,直接rollback;若未设置,查看是否启用了二进制日志文件,若是,将其恢复到执行该时间点前;若未设置,那数据库层面就没办法...
    99+
    2023-09-21
    数据库 mysql java
  • MySQL--------基于binlog实现闪回最佳实战
    1. 背景   * 为了数据安全,搭建了主从。实时主从备份只能防止硬件问题,比如主库的硬盘损坏。但对于误操作,则无能为力。比如在主库误删一张表,或者一个update语...
    99+
    2022-10-18
  • MySQL闪回技术之binlog2sql恢复binlog中的SQL
    ># yum remove git 下载git2.2.1并将git添加到环境变量中 ># wget https://github.com/git/git/archive/v2.2.1.ta...
    99+
    2022-10-18
  • mysql 误删除数据-数据回滚
    mysql 误删除 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,简介 MyFlash的前身是binlon...
    99+
    2022-10-18
  • MySQL设置binlog日志的有效期自动回收
    设置日志保留天数,到期后自动删除查看当前日志保存天数:show variables like '%expire_logs_days%';默认是0,即永不过期。 通过设...
    99+
    2022-10-18
  • mysql怎么回滚到某个时间点
    要回滚到某个时间点,你需要使用MySQL的恢复工具来进行操作。具体的步骤如下:1. 首先,停止MySQL服务。可以使用以下命令来停止...
    99+
    2023-10-09
    mysql
  • mysql事务回滚的原理是什么
    MySQL中的事务回滚是通过将数据库恢复到事务开始之前的状态来实现的。事务回滚的原理如下:1. MySQL使用日志来记录所有对数据库...
    99+
    2023-10-09
    mysql
  • MySQL数据库误删回滚的解决
    某次一不小心,用了delete from xxx 删除了几条重要数据,在网上找了很多方法,但都比较零散,打算记录本次数据找回的过程。大致分为以下几步 1、查看binlog是否开启 # log_bin是ON,就说...
    99+
    2022-06-30
    MySQL数据库误删回滚 MySQL 误删回滚
  • mysql中autocommit与sql回滚有什么关系
    本篇内容主要讲解“mysql中autocommit与sql回滚有什么关系”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql中autocommit与sql回...
    99+
    2022-10-18
  • MySQL持久化和回滚该怎么理解
    这篇文章跟大家分析一下“MySQL持久化和回滚该怎么理解”。内容详细易懂,对“MySQL持久化和回滚该怎么理解”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一...
    99+
    2022-10-19
  • MySQL数据库误删回滚怎么解决
    这篇文章主要讲解了“MySQL数据库误删回滚怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库误删回滚怎么解决”吧!某次一不小心,用了delete from x...
    99+
    2023-07-02
  • MySQL持久化和回滚的原理是什么
    今天就跟大家聊聊有关MySQL持久化和回滚的原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。redo log事务的支持是数据库区分文件系统的重要特征之一,事务的四大特性:原子...
    99+
    2023-06-25
  • MySQL中如何使用binlog恢复或闪回数据库数据
    不知道大家之前对类似MySQL中如何使用binlog恢复或闪回数据库数据的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL中如何使用binlog恢复或闪回数...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作