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

技术分享 | MySQL 工具 MyFlash

---- 前言 MyFlash 是美团点评开源的一个 MySQL 工具,可以用来回滚 MySQL 中的 DML 操作,恢复到某时刻的数据。...本文将简单地介绍 MySQL 工具 MyFlash 的使用。...限制 MyFlash 工具存在如下限制: binlog 格式必须为 row,且 binlog_row_image = full 仅支持 5.6 与 5.7 版本的 MySQL 只能滚 DML( 增、删...--start-position 指定滚开始的位置。如不指定,从文件的开始处滚。请指定正确的有效的位置,否则无法滚。 --stop-position 指定滚结束的位置。...如不指定,滚到文件结尾。请指定正确的有效的位置,否则无法滚。 --start-datetime 指定滚的开始时间。注意格式必须是 %Y-%m-%d %H:%M:%S。如不指定,则不限定时间。

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

数据库与删除

但是在记录日志时,只会将改变前的值保存在flashback buffer中,再由RVWR写入日志中。 时,从日志的尾部向头部方向,依次取出日志中的记录并应用在数据库上。...,NAME日志的位置,FIRST_CHANGE#日志中记录的最早的SCN,FIRST_TIME日志中记录的最早时间 启用数据库模式 如果想启动FLASHBACK DATABASE的功能...recovery area中的日志将自动全部删除 2.即便以resetlogs打开数据库,当前日志里的内容仍然保留,仍然 可以继续进行以restlogs方式打开数据库。...3.如果数据库的时间点之间进行了控制文件的恢复或重建,数据文件的收缩,或删除了某个表空间,则将失败。...4.日志在出现空间压力的情况下,oracle会自动删除日志,则有可能导致无法回到指定的时间点。

76930

【赵渝强老师】MySQL

也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。MySQL(flashback)利用binlog直接进行滚,能快速恢复且不用停机。...的原理 MySQL binlog以event的形式,记录了MySQL server从启用binlog以来所有的变更信息,能够帮助重现这之间的所有变化。...很安全,但是binlog会比其他两种模式大很多; mixed:混合模式,根据语句来选用是statement还是row模式; 利用binlog,需要将binlog格式设置为row。...show global variables like "%binlog_format%"; [up-3f48c862b8f187be1cdd9a932c8fe9241c3.png] 的实战 真实的场景中...登录mysql,确认滚成功。 mysql -uroot -pWelcome_1 < /root/tools/rollback.sql 7、检查数据是否恢复 图片.png

98642

验证GaussDB T 回事务查询功能;表功能强劲TRUNCATE

二、GaussDB T 的 Flashback Table 功能非常强劲可以TRUNCATE Gaussdb提供了类似Oracle的表功能;可以很好的应对drop table或者truncate...被drop table SQL> flashback table roger.test to before drop; Succeed....那么truncate 的表能吗 ? SQL> create table roger.test_copy as select * from roger.test ; Succeed....SQL> 可以看到成功回了被truncate table。 那么如果表被truncate之后,被写入数据之后,还能吗? 下面测试一下。...可以看到非常强大;仍然可以进行。。。。 这样妈妈再也不用担心数据被truncate了。。。。 那么如果表被ddl change了,还能吗? 我们进一步验证一下呢?

62520

Mysql误删,恢复数据,binlog,宝塔面板

也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。 MySQL(flashback)利用binlog直接进行滚,能快速恢复且不用停机。...本文将简单进行mysql根据binlog数据的实战测试 基础知识准备 binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复...所以有这种根据binlog得到执行sql语句、sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到sql,检查无误后执行就可以恢复数据了 准备工作 我们采用...有三条语句 然后每一条语句的最后面还有这样子一段注释 #start 590075 end 590633 time 2019-09-14 22:05:35 这代表的是在log文件中的起始位置和结束位置 ...sql语句 我们有了起始位置和结束位置,就可以利用工具,得到这一部分变化的sql了 前面的大部分参数都一样 后面的筛选日期参数变成了起始位置和结束位置的值 还有一个-B即可 python binlog2sql.py

3K20

openGauss 2.1.0 特性

恢复其实是利用回收站的恢复删除的表。利用MVCC机制恢复到指定时间点或者CSN点(commit sequence number)。...技术能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。...重要提示: 遗憾的是,官方文档关于恢复的前提条件并没有描述到位,导致初次接触该功能的小伙伴有些茫然(我也是),无法复现恢复的特性操作。...的功能。...执行查询命令,查看结果 基于timestamp的查询 select * from t1 timecapsule timestamp to_timestamp('2021-10-12 10:03

1.4K30

Oracle 特性(FLASHBACK DATABASE)

============= 技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从的方式可以分为基于数据库级别、表级别、事务 级别,根据对数据的影响程度又可以分为恢复...,查询。...日志不能复用,也不能归档。日志使用循环写方式。...数据库的恢复的速度要快于RMAN以及基于用户管理的备份与恢复,其主要原因是因为数据库使用的是日志,而日志中保存的是数据块的完整镜像。...其次能够恢复的程度取决于回空间的大小以及的保留策略,回空间大小会被循环使用,而的保留策略则决定了日志保留的时间长度。总之,合理的平衡恢复速度与可用空间依赖于具体服务要求。

1K40

Oracle 特性(FLASHBACK DROP & RECYCLEBIN)

本文主要讲述了FLASHBACK DROP特性以及特性中回收站(RECYCLEBIN)的管理。...1) from "BIN$k1zC3yEiwZvgQAB/AQBRVw==$0"; --可以使用回收站名来访问对象,但要对对象加双引号 COUNT(1) ---------- 13 2.实施并查看后的情况...rename to newtbname; 第二条语句用于被删除的表名已经被再次重用,故之前必须将其改名为新表名,schema不变化 9.如回收站中存在两个相同的原表名,则时总是最近的版本...,如果特定的表,需要指定 该表在回收站中的名称。...,而是只能恢复drop 之后的表 11.flashback drop 不能drop user scott cascade删除方案的操作,此只能用flashback database 12.在system

78730

Orcale利用功能恢复数据

从9i开始,Oracle提供了(FLASHBACK)功能。...使用FLASHBACK TABLE语句从撤消段中(undo segment)读取该表的过去映像,并利用Oracle9i中引入的查询重建表行。UNDO_RETENTION给出了支持的最小时间。...(当然,如果滚表空间的空间分配不足,当系统处于忙时,有可能重用还没有达到UNDO_RETENTION时间限制的数据的空间)。使用的一个前提是表不能进行DDL操作。...不但不能对DDL操作进行,而且,也无法回到DDL操作以前的数据了。...一.delete误删 方法1:如果表结构没有改变,直接整个表,具体步骤: --首先需要表权限,开启行移动功能 alter table 表名 enable row movement; --执行恢复表数据到某个时间点

88820

openGauss数据库功能验证

背景 openGauss功能能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。...truncate基于回收站机制,通过还原回收站中记录的表的物理文件,实现已truncate表的恢复。...DROP:可以恢复意外删除的表,从回收站(recyclebin)中恢复被删除的表及其附属结构如索引、表约束等。...后来查看管理员指南,在特性描述倒是说了“ASTORE引擎暂不支持功能。备机不支持操作。”在开发者指南 CREATE TABLE部分找到这么一句话。...因此,由于openGauss建表默认为astore模式,是不支持的。所以,现在需要修改建表脚本为ustore模式。

92420

Oracle DataGuard 备库配置模式

Oracle 数据库通常设置在 DataGuard 备库,如果主库误删数据,可用备库至删除点之前,获取丢失数据,然后再自动同步回来!...注意: 主库不建议开启,首先影响性能,其次主库不可能为了某些数据去做,所以很鸡肋! 那么,DataGuard 备库如何开启数据库?...需要有充足的磁盘空间 1、第一步,关闭 DataGuard 备库同步进程 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 2、第二步,开启功能.../oradata/fast_recovery_area 需要物理真是存在,设置的区大小即日志占用磁盘空间的上限!...一段时间,确认 100G 空间能够保留多久的日志,大致推算出需要保存固定时间日志的空间,根据实际情况进行修改! ----

94810

my2sql 操作流程

简介: go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。...GitHub地址:https://github.com/liuhr/my2sql my2sql有三个主要功能,今天只介绍功能: #执行操作具体操作流程 #解析binlog生成标准SQL #解析binlog...sec) 解析一下binlog,因为是测试,并没有其他热写入数据,我按时间区间去 [root@localhost data]# mysqlbinlog --base64-output=decode-rows...1000 -output-dir /tmp 限制 使用回滚/功能时,binlog格式必须为row,且binlog_row_image=full, DML统计以及大事务分析不受影响...只能滚DML, 不能滚DDL 支持指定-tl时区来解释binlog中time/datetime字段的内容。

85072
领券