mysql有没有flashback_关于MySQL Flashback工具的使用及介绍

接下来我们开始测试MySQL Fashback工具的使用。

测试Flashback INSERT操作

我们先创建一张表t2,向t2表中插入一条数据,并查看binlog日志的内容,然后接着使用Fashback工具(即-B参数)查看binlog日志的内容及结果

5e740d55e9c8094716bef689f1d9371e.png

6869b56c5de191b154c5346891d00ed9.png

可以看到,binlog中的insert语句被逆向转换成了delete语句。

测试Flashback DELETE操作

这次我们将表t2中的数据删除一条,查看binlog日志中的内容,并使用Fashback工具(即-B参数)查看binlog日志的内容及结果:

7ce3520bd4b714d4231c7a3ff5bbfa34.png

6c68a7d3ea2f564acf5743859eb4dfe4.png

可以看到,binlog日志中的delete语句被逆向转换成了insert。

测试Flashback UPDATE操作

既然insert和delete可以完成相互的逆向转换,那么update语句会怎样呢,我们接下来就来测试下update语句,更新表t2中的一条数据,查看对应binlog日志内容,并使用Fashback工具(即-B参数)查看binlog日志的内容及结果:

a140793bbb784867f6399ef1d843cce6.png

8df6ac4b6fd1469cd059b7a2d166b2ef.png

测试Flashback 整个事务

那么这只是单个事务中,单个DML操作,若在一个事务中既有insert、update、delete语句,那么通过使用Flashback工具后会是怎么样的效果呢,接下来就来测试下:

3c6139b48d0357cb0141ce12b180c4cb.png

2c109a40eb1c646a0d38f7c2ac00c67a.png

可以看到,我是在一个事务中完成了insert、update和delete操作,通过使用-B参数后的效果可以看到,不仅三种DML语句完成了逆向转换,并且语句顺序也发生了颠倒。

结论

Flashback工具使用注意点:

binlog日志格式必须是ROW格式;

binlog_row_image参数值需要设置为FULL,若未设置成FULL,Flashback使用就会出错,各位有兴趣可以测试下;

可以将DML操作转换为逆向操作,如:delete转换为insert,insert转换为delete,update转换为逆向的update;

一个事务中的DML语句不仅会逆向转换,并且语句顺序也会发生颠倒;

不支持DDL操作。

binlog日志格式必须是ROW格式;

binlog_row_image参数值需要设置为FULL,若未设置成FULL,Flashback使用就会出错,各位有兴趣可以测试下;

可以将DML操作转换为逆向操作,如:delete转换为insert,insert转换为delete,update转换为逆向的update;

一个事务中的DML语句不仅会逆向转换,并且语句顺序也会发生颠倒;

不支持DDL操作。

欢迎大家加入IMG官方QQ群一起讨论数据库相关问题,Flashback工具已上传到QQ群,欢迎大家下载并进行测试,QQ群号:306706593。

猜你喜欢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值