MySQL的FLASHBACK数据回滚是什么

发布时间:2021-09-16 10:48:34 作者:chen
来源:亿速云 阅读:144

这篇文章主要介绍“MySQL的FLASHBACK数据回滚是什么”,在日常操作中,相信很多人在MySQL的FLASHBACK数据回滚是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL的FLASHBACK数据回滚是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

数据库的里面的FLASHBACK 功能是一个让人刮目相看的功能,如果你做错了什么怎么能将那段时间的数据恢复,并且还让生产的应用不停止,这是一个数据库管理员都想拥有的功能, SQL SERVER 需要借助第三方软件的功能,可以完成数据的回滚和恢复,ORACLE 独有的FLASHBACK 功能,以及POSTGRESQL 的pg_dirtyread 功能,都可以从某些方面来进行数据的回滚和数据的找回。

当然基本上如果你对你的表进行了 TRUNCATE TABLE的操作则是不能对数据进行找回的,原理就不多说了。

MYSQL的数据找回和回滚使用的是BINLOG2SQL 这个开源的工具,其中的原理如果你懂得MYSQL的binlog 原理,则你会很快明白其可以恢复数据的方式。

这里我们可以做一个实验:

我们可以建立一个数据库 ttt  ,并在库中建立一个表 ttt ,在表中建立一个字段 create table ttt (id int)

然后我们在数据库中进行相关的操作

插入操作

insert into ttt (id) values (1),(2),(3);

update 操作

update ttt set id = 2 where id = 1;

delete 操作

delete from ttt where id = 2

MySQL的FLASHBACK数据回滚是什么

如果你想产生回滚的语句,直接在 上图语句的后面添加 flushback

MySQL的FLASHBACK数据回滚是什么

大家可以观察上图,通过上图可以理解 BINLOG 语句的记录模式

1  无论你如何插入数据,是批量还是,单条插入,在BINLOG 里面都会逐条解析你插入的记录

2 你UPDATE 或者 DELETE 数据表一条语句多条数据的情况下,也是对每一条数据进行一个数据的记录

一句话所有的记录都是根据行来记录,而不是逻辑语句。

同时这个工具可以根据你的pos ,时间点, 日志的范围等等进行相关数据的提取。

所以有了这个工具,基本上大部分的误操作都能进行数据的找回和恢复。

到此,关于“MySQL的FLASHBACK数据回滚是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. mysql 误删除数据-数据回滚
  2. MyFlash 回滚mysql binlog

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql

上一篇:MYSQL8安装中经常遇到的一些问题及汇总

下一篇:MYSQL LOCKS监控的详细介绍

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》