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

MySQL】MyFlash mysql binlog

简介: 数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪DML操作。...本篇文章主要介绍通过MyFlash工具来回binlog。 MyFlash是由美团点评公司技术工程部开发维护的一个DML操作的工具。该工具通过解析v4版本的binlog,完成操作。...相对已有的工具,其增加了更多的过滤选项,让更加容易。...1.databaseNames 指定需要回数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回的表名。多个表可以用“,”隔开。...3.start-position 指定滚开始的位置。如不指定,从文件的开始处。请指定正确的有效的位置,否则无法 4.stop-position 指定结束的位置。如不指定,滚到文件结尾。

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

mysql binlog数据

1.先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的...xxx/xxx路径下,如果只配置mysql_bin的话默认在C:\ProgramData\MySQL\MySQL Server 5.7\Data下; binlog_format = ROW #binlog...日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子,是binlog开启并且能恢复数据的关键; expire_logs_days= 10 #binlog...4.进入mysql查看一下开始和结束的pos位置,第一个框是删除,下面的是更新,开始位置和结束位置219--498 563---881 ?...show binlog events in 'mysql-bin.000352' 5.用binlog2sql打印出sql语句和逆向的sql语句,保存并导入 python binlog2sql.py

5.8K20

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.5K20

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中!

19430

mysql事务机制概述

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作...而当mysql server启动的时候,当我们需要查询auto_increment计数值时,mysql便会自动执行:SELECT MIX(ID) FROM 表名 FOR UPDATE;这条语句来获得auto_increment...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...事务T2读取到了T1更新后的行,然后T1执行操作,取消了刚才所做的修改。...mysql事务怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

2.6K20

MySQL 的FLASHBACK 数据

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

3.1K30

spring事务机制_事务失败

Spring事务 使用 @Transaction 来配置自动,可以配置在类上,也可以配置在方法上(作用域不同),但对final或private修饰的方法无效,且该类必须是受spring...//some code //db operation } } Jetbrains全家桶1年46,售后保障稳定 若被配置的方法或类抛出了异常,则事务会被自动...可以使用 @Transactional(rollbackFor = Exception.class) 来设定针对特定的异常进行事务,如果不设置则默认会 RuntimeException and...User user) { userMapper.insert(user); throw new RuntimeException(); // 抛出异常,事务...} } 通过注入 DataSourceTransactionManager 来手动开启事务,手动事务,用于抛出异常被catch后,进行手动

2K20

嵌套事务策略_内部事务会导致外部事务

外部出错:如果外部事物出错,内部和外部事物全部,外部之前的操作全部不存在,但是之后的操作继续执行。 注:如果内部的事务不起事务名称,内部如果出错,将会掉会话中的全部事务,而且报异常。...ROLLBACK TRAN语句总是属于最外层的事务,并且因此总是整个事务而不论其中打开了多少嵌套事务。正因为此,管理嵌套事务很复杂。...该隐含的事务对批处理中的其它语句没有影响,因为当语句完成时,该事务要么提交,要么。但是,当调用触发器时,该 隐含的事务将仍然有效。   ...因为当嵌套事务时,嵌套的 BEGIN TRANSACTION 语句将被忽略,触发器中发出的 ROLLBACK TRANSACTION 总是过去该触发器本身发出的所有 BEGIN TRANSACTION...ROLLBACK 滚到最外部的 BEGIN TRANSACTION。   若要在触发器中进行部分,则即使总是以自动提交模式进行调用,也必须使用 SAVE TRANSACTION 语句

2.7K20

MySQL--事务机制与原理

事务机制 其实,讨论MySQL的事务机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。...所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须数据库会退回到事务前的状态。...我们可以这么理解,就是说如果事务失败了,那么它对我们的数据库是没有任何影响的。 实现原理 在说明原理之前,需要首先介绍一下MySQL的事务日志。...MySQL的日志有很多种,如二进制日志、错误日志、查询日志、慢查询日志等,此外InnDB引擎还提供了两种事务日志:redo log(重做日志)和undo log(日志)。...当事务对数据库进行修改时,InnDB会生成对应的undo log;如果事务失败或者调用了rollback,导致事务,便可以利用undo log中的信息将数据滚到修改之前的样子。

2.8K20

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

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作...而当mysql server启动的时候,当我们需要查询auto_increment计数值时,mysql便会自动执行:SELECT MIX(ID) FROM 表名 FOR UPDATE;这条语句来获得auto_increment...MYSQL中使用事务: 在MYSQL命令行命令下事务都是自动提交的,即执行Sql语句就会马上执行COMMIT操作。...事务T2读取到了T1更新后的行,然后T1执行操作,取消了刚才所做的修改。...mysql事务怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完

2.6K10

java 配置事务_Spring@Transactional事务

Spring中事务分为编程时事务和声明式事务,编程式事务:编程人员通过代码控制事务的开启、、提交,声明式事务:把事务的处理交给spring。...实现事务需要注意的问题: 1.@Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。 2....3.默认情况下,spring会对unchecked异常进行事务;如果是checked异常则不回。...去掉方法体中的try catch (4)catch (Exception e) { throw e;}继续向上抛,目的是让spring事务捕获这个异常 除了以上注意的问题,说一下最近遇到的关于多数据源配置事务的问题...在项目中关于事务该配置的也配置了,需要注意的问题也注意了,但有的事务可以出现有的失败,最终问题所在: id相同的事务配置分别配置在两个application.xml文件中,如果多个application.xml

2.3K20

Django数据库--事务及事务

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

3.8K10
领券