关于实现MySQL闪回的一个取巧的办法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:             最近有关注MySQL的一些备份,恢复的事情,想试着在MySQL上类似于Oracle的闪回(flashback)的功能             首先想到的是解析Binlog,然后逆向编写对应的SQL,去网上翻了翻资料,发现已经有大神实现了...
            最近有关注MySQL的一些备份,恢复的事情,想试着在MySQL上类似于Oracle的闪回(flashback)的功能
            首先想到的是解析Binlog,然后逆向编写对应的SQL,去网上翻了翻资料,发现已经有大神实现了!但是仔细想了想,不管是自己写,还是直接用别人的成果,好像都挺麻烦的,毕竟懒癌晚期,找点简单的办法来取巧好了_(:з」∠)_

-----------------------------------------------------关于闪回特性的时机应用场景的 个人理解-------------------------------------------------------
            从实际情况出发,闪回提供的数据恢复能力是相对偏弱,而且时间点也是相对不远,可能就是在几分钟前,但是闪回强在在数据恢复时间照比正常的恢复流程快很多
            能用到闪回特性的实际场景,基本上就是DBA or 相关的技术人员在操作数据库的时候,由于失误 or 疏忽,在一些DDL或者DML语句中没有加上where,或者相似的表名写错了
            PS:谁都有失误的时候T_T
            在这种情境下,错误发生的时间点之后,且相关人员能第一时间发现,那么就可以用闪回了!
            取巧的办法就在这个地方" 错误发生的时间点之后,且相关人员能第一时间发现",第一时间发现说明相隔时间并不长,那么,MySQL从库的数据如果存在一段时间的延迟,相关人员就能从从库直接导出相对应的数据,在主库上面进行恢复了~

-----------------------------------------------------------------这才是这篇博客的主题 -------------------------- ----------------------------------------
            如何让从库对主库保持一个固定的延迟?
            一般来说,按照网上的主从配置,配完之后,show slave status\G;之后,会在底部显示如下信息
               
            翻阅MySQL的官方文档,里面有提到,在change master的设置里面,有一项master_delay=x秒的设置,把这一项添加进去以后,再启动主从,会变成如下信息
         
            当然细心的人会发现这其实是两个不一样的MySQL,不过这并不影响测试,不要在意这些细节....
            那么,这个参数设定以后,真的是延迟了600s再更新主库的数据变更么?我们可以来试试~
            首先在看一下三个库的表结构,都是七张表,最左边的是主库,中间是延时从库,最右边的是另外一个普通的从库...
         
            然后再主库上面新建一张表~
         
          
            然后看一下时间和效果~
         
            如截图可以看到延时从库并没有更新主库上的操作,而普通的从库已经更新了~这时候再去看一下延时从库的status~
         
            还差好几分钟才会更新~
            然后无聊的博主怒开了一波Dota2的不朽II箱子..... 纯金不朽碎骨锤一发~看看时间也差不多了,查看一下延时从库的status~
         
            延时从库的更新在十分钟以后如约而至,然后继续回到了空闲状态~
         

            所以用这种延时从库的办法,能自由的设置缓冲时间,来恢复错误的操作~
---------------------------------------------------------------------------华丽的分割线 ------------------------------------- ----------------------------------------

            诚然,最开始想到的并不是这种官方的方法,第一时间是找了percona-toolkits去求助,使用里面的pt-slave-delay来达到延时从库的效果
            pt-slave-delay的实现方法也很简单,定时在从库上执行stop slave和start slave,简单明了~
            关于怎么去安装和使用pt-slave-delay就不在描述了,毕竟,官方的方法更加简单一些~不过percona-toolkits确实是一套很不错的工具集~
---------------------------------------------------------------------------华丽的全文完-----------------------------------------------------------------------------

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Prometheus 监控 Cloud Native
手把手教你Prometheus + Granafa实现mysql 性能监测部署
数据库性能监控可以说是十分重要,能否自行搭建环境实现像阿里云或是腾讯云那样直观的展示不同维度数据的功能?答案是肯定的。下面详细说明一下安装部署过程以及过程中出现的问题,希望对你有所帮助!
手把手教你Prometheus + Granafa实现mysql 性能监测部署
|
4月前
|
关系型数据库 MySQL 数据库
MySQL回滚工具:binlog 闪回工具 MyFlash工具
MySQL回滚工具:binlog 闪回工具 MyFlash工具
|
6月前
|
SQL 关系型数据库 MySQL
MySQL性能调优办法
MySQL性能调优办法
|
7月前
|
关系型数据库 MySQL Java
实时计算 Flink版产品使用合集之mysql通过flink cdc同步数据,有没有办法所有表共用一个dump线程
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
数据可视化 关系型数据库 MySQL
5.6版本MySQL安装教程以及完全卸载干净MySQL的办法(二)
5.6版本MySQL安装教程以及完全卸载干净MySQL的办法
110 0
|
数据可视化 关系型数据库 MySQL
5.6版本MySQL安装教程以及完全卸载干净MySQL的办法(一)
5.6版本MySQL安装教程以及完全卸载干净MySQL的办法
196 0
|
SQL 关系型数据库 MySQL
MySql字符串拆分实现split功能(字段分割转列、转行)
MySql字符串拆分实现split功能(字段分割转列、转行)
MySql字符串拆分实现split功能(字段分割转列、转行)
|
SQL 存储 安全
MySQL binlog:格式、增量恢复、闪回、Java 解析
MySQL binlog:格式、增量恢复、闪回、Java 解析
876 0
|
SQL 缓存 关系型数据库
MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)
MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)
MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)
|
关系型数据库 MySQL
Mysql中文汉字转拼音的实现
Mysql中文汉字转拼音的实现
554 0