MySQL合集-闪回恢复工具MyFlash

yumo6666个月前 (05-22)技术文章96


一、简介

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版本都有漏洞

2015-07-09 05:06:00 作者:徐鹏据外媒VentureBeat报道,Adobe发布的公告显示,Windows、Mac和Linux三大系统平台的全部Flash版本都存在一个安全漏洞,计划...

如何快速低成本地搭建有一个属于自己的网站

相信很多小伙伴刚接触互联网访问各种绚丽和功能强大的网站时都会好奇这些网站是如何搭建的,自己也想拥有一个这样的网站空间,其实个人网站的搭建是很简单的下面我给大家讲解下。如果搭建一个网站,首先大家可以先了...

Flash解禁重返Firefox 后顾之忧还很多

【PConline 资讯】7月20日消息:据外媒报道,因接连被发现重大漏洞而被Mozilla禁用的Flash,经过几天的修复工作后终于得以解禁,重新成为默认的Firefox的默认插件。据了解,Mozi...

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

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

ZYNQ QSPI flash分区设置&启动配置

需求:一款基于zynq架构的产品,只有qspi flash,并没有其他的存储设备,现在的要求固化某个应用程序app,设置开机启动.但是根据厂家提供的sdk,编译出的镜像重启后,文件系统的内容都会还原,...