首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【MySQL】MyFlash 回滚mysql binlog

简介: 数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪回DML操作。...本篇文章主要介绍通过MyFlash工具来回滚binlog。 MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。...相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。...1.databaseNames 指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回滚的表名。多个表可以用“,”隔开。...8.maxSplitSize 一旦指定该参数,对文件进行固定尺寸的分割(单位为M),过滤条件有效,但不进行回滚操作。

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git撤销&回滚操作

    撤销 上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤销”!...:文件执行了git add操作,但想撤销对其的修改(index内回滚) # 取消暂存 $ git reset HEAD fileName # 撤销修改 $ git checkout fileName 情况四...Commit $ git reset [--hard|soft|mixed|merge|keep] [commit|HEAD] 具体参数和使用说明,请查看:Git Pro深入浅出(二)中的重置揭秘部分 回滚...我们将已被提交到“远程仓库”的代码还原操作叫做“回滚”!注意:对远程仓库做回滚操作是有风险的,需提前做好备份和通知其他团队成员!...情况三:回滚某次提交 # 找到要回滚的commitID $ git log $ git revert commitID 删除某次提交 $ git log --oneline -n5 $ git rebase

    1.3K10

    Git撤销&回滚操作

    撤销 上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作叫做“撤销”!...:文件执行了git add操作,但想撤销对其的修改(index内回滚) # 取消暂存 git reset HEAD fileName # 撤销修改 git checkout fileName 情况四:修改的文件已被...现在想撤销到其中某次Commit git reset [--hard|soft|mixed|merge|keep] [commit|HEAD] 具体参数和使用说明,请查看:Git Pro深入浅出(二)中的重置揭秘部分 回滚...我们将已被提交到“远程仓库”的代码还原操作叫做“回滚”!注意:对远程仓库做回滚操作是有风险的,需提前做好备份和通知其他团队成员!...情况三:回滚某次提交 # 找到要回滚的commitID git log git revert commitID 删除某次提交 git log --oneline -n5 ?

    2.2K22

    MyFlash 回滚mysql binlog

    简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。...* 1.databaseNames 指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回滚的表名。...3.start-position 指定回滚开始的位置。如不指定,从文件的开始处回滚。请指定正确的有效的位置,否则无法回滚 4.stop-position 指定回滚结束的位置。如不指定,回滚到文件结尾。...请指定正确的有效的位置,否则无法回滚 5.start-datetime 指定回滚的开始时间。注意格式必须是 %Y-%m-%d %H:%M:%S。...8.maxSplitSize 一旦指定该参数,对文件进行固定尺寸的分割(单位为M),过滤条件有效,但不进行回滚操作。

    1.6K20

    Deployment回滚操作方法

    Deployment回滚 生产环境中可能由于一些原因,导致需要回滚操作,这个时候我们就可以使用Deployment回滚操作,这里我们还是以更新nginx镜像为案例: 将nginx镜像版本更新为Nginx...status deployments nginx-deployment 查看Pod的状态,这个时候我们会发现镜像一直处于被拉取的状态; kubectl get pods 为了解决该问题,这个时候我们需要进行回滚操作...,我们可以通过kubectl rollout history查看Deployment的部署历史记录,通过kubectl rollout undo命令回滚到上一个部署版本,当然也可以指定版本回滚; #查看...  --to-revision=2 查看整个回滚过程的事件信息,回滚的过程就是将新建的ReplicaSet缩容就可以了; kubectl describe deployment/nginx-deployment...,一次性触发完整的更新操作。

    55200

    MySQL 回滚日志 undo log

    专栏持续更新中:MySQL详解 一、引入 undo log 一般数据库引擎默认工作在事务的中间两个隔离级别: TRANSACTION_READ_COMMITTED,已提交读,oracle默认工作级别...事务日志分为undo log(回滚日志) 和 redo log(重做日志) 二、undo log 1. undo log的概念 undo log和redo log统称事务日志,不同于binlog是MySQL...出现异常时(如数据持久化过程断电),重启后InnoDB会使用redo log恢复到断电前的状态,保证数据的完整性 undo log:回滚日志,保存了事务发生之前的数据的一个版本,用于事务的回滚操作,同时也是实现多版本并发控制...(MVCC)下读操作(快照读)的关键技术 2. undo log的作用 undo log回滚日志的主要作用: 事务发生错误时回滚rollback,数据更新之前,会把原始数据保存在回滚日志中,保证事务出错回滚或者我们手动回滚的时候...防止事务回滚恢复修改前的状态,需要将最初的数据存放在undo log中!

    27630

    MySQL 的FLASHBACK 数据回滚

    数据库的里面的FLASHBACK 功能是一个让人刮目相看的功能,如果你做错了什么怎么能将那段时间的数据恢复,并且还让生产的应用不停止,这是一个数据库管理员都想拥有的功能, SQL SERVER 需要借助第三方软件的功能...,可以完成数据的回滚和恢复,ORACLE 独有的FLASHBACK 功能,以及POSTGRESQL 的pg_dirtyread 功能,都可以从某些方面来进行数据的回滚和数据的找回。...MYSQL的数据找回和回滚使用的是BINLOG2SQL 这个开源的工具,其中的原理如果你懂得MYSQL的binlog 原理,则你会很快明白其可以恢复数据的方式。...这里我们可以做一个实验: 我们可以建立一个数据库 ttt ,并在库中建立一个表 ttt ,在表中建立一个字段 create table ttt (id int) 然后我们在数据库中进行相关的操作 插入操作...如果你想产生回滚的语句,直接在 上图语句的后面添加 flushback ?

    3.2K30

    mysql事务回滚机制概述

    事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作...回滚的意思其实即使如果之前是插入操作的话,那么会执行删除之前插入的记录,如果是修改操作的话,那么会执行将update之前的记录还原。 因此,正确的原子操作是真正被执行过的,是物理执行。...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...事务T2读取到了T1更新后的行,然后T1执行回滚操作,取消了刚才所做的修改。...mysql事务回滚怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

    2.7K20

    MySQL数据库——事务的操作(开启、回滚、提交)、特征、隔离级别基础总结

    1.1 事务的操作 开启事务:start transaction; 回滚:rollback; 提交:commit; 【举例】:还是用这个A给B转账的例子,在SQLyog中进行模拟开启事务、回滚、提交 -...UPDATE account SET balance = balance + 500 WHERE NAME = 'lisi'; -- 发现执行没有问题,提交事务 COMMIT; -- 发现出问题了,回滚事务...2)发现错误后,执行回滚操作,再次在窗口A和B中查询,数据都是1000,回滚操作成功。...1.2 MySQL数据库的事务提交 1)事务提交的两种方式 自动提交:MySQL数据库默认是自动提交的,一条DML(增删改语句)会自动提交一次事务; 手动提交:需要先开启事务(START TRANSACTION...2 事务的四大特征 1)原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败; 2)持久性:事务一旦提交或回滚,数据表的数据将被持久化的保存; 3)隔离性:多个事务之间相互独立; 4)一致性:表示事务操作前后

    20.7K31

    MySQL--事务回滚机制与原理

    事务回滚机制 其实,讨论MySQL的事务回滚机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。...所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须回滚,数据库会退回到事务前的状态。...我们可以这么理解,就是说如果事务失败了,那么它对我们的数据库是没有任何影响的。 实现原理 在说明原理之前,需要首先介绍一下MySQL的事务日志。...当事务对数据库进行修改时,InnDB会生成对应的undo log;如果事务失败或者调用了rollback,导致事务回滚,便可以利用undo log中的信息将数据回滚到修改之前的样子。...所以说我们可以得出以下结论: 每条数据变更操作都伴随着一条undo log的生成,并且回滚日志必须先于数据持久化到磁盘上。 所谓回滚也就是根据回滚日志做逆向操作。

    3K20

    mysql事务回滚机制概述「建议收藏」

    事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作...回滚的意思其实即使如果之前是插入操作的话,那么会执行删除之前插入的记录,如果是修改操作的话,那么会执行将update之前的记录还原。 因此,正确的原子操作是真正被执行过的,是物理执行。...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...事务T2读取到了T1更新后的行,然后T1执行回滚操作,取消了刚才所做的修改。...mysql事务回滚怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

    2.6K10

    小程序的版本发布与回滚操作

    小程序的版本发布与回滚操作一、引言小程序的开发与维护过程中,版本发布与回滚是非常重要的操作。...本文将详细介绍微信小程序的版本发布流程和回滚操作,帮助开发者更好地进行版本管理与控制。...选择回滚版本: 在遇到问题需要回滚时,开发者可以选择一个稳定的历史版本进行回滚操作。一般来说,我们会选择最近发布的一个稳定版本。 回滚操作: 点击回滚按钮,选择合适的版本进行回滚。...3.3、回滚的注意事项确保回滚版本稳定:选择回滚版本时,必须确保其经过充分测试,不会引入新的问题。及时修复问题:回滚操作只是应急方案,开发者需要尽快修复导致版本问题的bug,并重新提交新的稳定版本。...地址:微信小程序开发实战 《如何做好小程序的版本管理与回滚操作》 本文介绍了小程序版本发布的细节与回滚操作的最佳实践。 地址:如何做好小程序的版本管理与回滚操作

    13700

    Django数据库--事务及事务回滚

    有事务出错的整体回滚操作,也有基于保存点的部分回滚。本文将讨论Django中的这两种机制的运行原理。...一、整体回滚 所有的数据库更新操作都会在一个事务中执行,如果事务中任何一个环节出现错误,都会回滚整个事务。...,不需要任何操作 pass 此方案比较灵活,事务可以在代码中的任意地方开启,对于事务开启前的数据库操作是必定会执行的,事务开启后的数据库操作一旦出现错误就会回滚。...,不需要任何操作 pass 事务外的数据库操作正常执行,而事务内的数据库操作则会回滚。...一旦打开事务atomic(),就会构建一系列等待提交或回滚的数据库操作。通常,如果发出回滚命令,则会回滚整个事务。

    4K10

    MySQL update回滚 mysqlbinlog回复数据

    是否启用了日志 show variables like 'log_%'; 怎样知道当前的日志 mysql> show master status; 显示二进制日志数目 mysql> show master....000087 是日志文件所在 /www/server/linshi/1233.sql 是要导出的位置 很快执行完毕,切换到相应目录后就会看到1233.sql文件,再导入数据库恢复吧 执行的语句 sudo...,不过这个也必须自己知道进行了那些操作。.../data/binlog.123456 | mysql -u root -p 时间点恢复跟位置恢复道理一样,也必须知道具体操作的时间和要恢复到什么时间 4、不同的方式进行恢复 1、如果是登录到了mysql...问题: binlog2sql 回滚sql 产生的sql 为空,错误的sql 找到了,生成回滚sql 的时候为空,这是为什么呢 就是找到日志文件了,但是在生成回滚sql 的时候,生成的sql 为空,有人遇到过吗

    2.3K10

    MySQL事务部分回滚-回滚到指定保存点「建议收藏」

    我们可以在mysql事务处理过程中定义保存点(SAVEPOINT),然后回滚到指定的保存点前的状态。 定义保存点,以及回滚到指定保存点前状态的语法如下。...定义保存点—SAVEPOINT 保存点名; 回滚到指定保存点—ROLLBACK TO SAVEPOINT 保存点名: 下面演示将向表user中连续插入3条数据,在插入第2条数据的后面定义一个保存点,最后看看能否回滚到此保存点...事务开始 mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) 3、向表user中插入2条数据 mysql> INSERT INTO user VALUES...| 3 | one | 0 | | | 4 | two | 0 | | | 5 | three | 0 | | +—–+———-+—–+——+ 5 rows in set (0.02 sec) 6、回滚到保存点...test mysql> ROLLBACK TO SAVEPOINT test; Query OK, 0 rows affected (0.31 sec) mysql> select * from user

    2.1K30
    领券