MySQL合集-闪回恢复工具MyFlash

yumo6664个月前 (05-22)技术文章75


一、简介

MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 该工具已经在美团点评内部使用

二、详细说明

安装

1.How to build

该工具推荐用户在下载源码之后,进行动态编译链接安装

动态编译链接

gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c -o binary/flashback

然而用户不想每次去重新编译,可以选择使用静态链接,但是该方法需要知道glib库的版本和位置,因此对于每台机器略有不同,请谨慎使用

静态编译链接

为了保证在一台机器上编译后,可以在其它机器上使用,需要满足以下两个条件

a) 将glib做成静态链接

b)在编译的那台机器的glibc版本(查看方法为ldd --version)要小于等于要运行该软件的那台机器glibc版本 因此需要你在一台glibc版本较低的机器上运行如下命令即可。

gcc -w -g `pkg-config --cflags glib-2.0` source/binlogParseGlib.c -o binary/flashback /usr/lib64/libglib-2.0.a -lrt

  1. 使用
  2. 测试用例

三、限制

  1. binlog格式必须为row,且binlog_row_image=full
  2. 仅支持5.6与5.7
  3. 只能回滚DML(增、删、改)

四、FAQ

  1. 实现的原理是什么?
  • 答:参考文章http://url.cn/5yVTfLY
  1. 支持gtid吗?
  • 答:支持。请参考 使用
  1. 在开启gtid的MySQL server上,应用flashback报错,错误为:ERROR 1782 (HY000) at line 16: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON. ?
  • 答:在导入时加入--skip-gtids mysqlbinlog --skip-gtids | mysql -uxxx -pxxx
  1. 如果回滚后的binlog日志尺寸超过20M,在导入时,很耗时。如何处理?
  • 答:参考 使用 ,搜索maxSplitSize。使用该参数可以对文件进行切片

相关文章

如何搭建一个自己的电影网站,免费分享教程

大家好,好久不见了吧。没错我是好久好久好久没冒泡的武玥了"不是学长哦"再次见面给大家一个福利。最近看到有好多博主,好友都在推荐什么影视网站搭建方法相信大家有的应该没有搞懂吧,这里我仔细教一下大家。纯属...

Flash 游戏将消亡,但这个项目挽救了其中 38000 多款

很长一段时间,互联网上充斥着内置 Flash 的游戏和动画。但是,到今年年底,Flash 将会消失,因为几乎所有主要的网络浏览器都将在 2020 年 12 月 31 日取消对 Flash 的支持。不过...

ZLG嵌入式笔记 | rootfs镜像制作其实没那么难

在嵌入式Linux开发中,文件系统的打包和镜像制作是关键步骤。本文介绍了Linux核心板文件系统的打包与镜像制作方法,适合嵌入式开发人员快速上手。 前言致远电子Linux核心板提供的系统固件里,除了镜...

基于小凌派RK2206开发板:OpenHarmony使用IoT接口控制FLASH外设

1、实验简介本实验将演示如何在小凌派-RK2206开发板上使用IOT库的FLASH接口,进行FLASH编程开发。例程将创建一个任务,实现FLASH读写操作。例程源代码:https://gitee.co...

牛人优化网站必备的工具推荐

老站长做网站优化,手上必定有一大堆的seo工具和软件,俗话说的好,“工欲善其事必先利其器”。好的辅助工具对优化有事倍功半的作用。做彩票软件源码网站的优化也有将近2个年头了,手上seo软件、工具一大堆...