美文网首页
Mysql数据闪回操作备忘

Mysql数据闪回操作备忘

作者: 牛亦非 | 来源:发表于2020-09-02 14:04 被阅读0次

准备工作

  1. 更新mysql客户端到5.7版本
shell> wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
shell> yum -y install mysql57-community-release-el7-11.noarch.rpm
shell> yum -y install mysql-community-server
# 检查mysqlbinlog版本是否3.4
shell> mysqlbinlog --version
  1. 安装MyFlash
# 下载
shell> git clone https://github.com/Meituan-Dianping/MyFlash.git

安装

shell> cd MyFlash
shell> gcc -w  `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c  -o binary/flashback
# 如果报No package 'glib-2.0' found,先安装glib依赖
shell> yum install libgnomeui-devel
  1. 安装binlog2sql
shell> git clone https://github.com/danfengcao/binlog2sql.git
shell> cd binlog2sql
shell> pip install -r requirements.txt

闪回操作

注意:利用MyFlash回滚阿里云RDS备份恢复页面中下载到ECS本地的binlog(RDS下载的binlog无法解析)

# 下载阿里云RDS控制台备份恢复页面中相关binlog
# 下载地址需要加'' 用-O(大写)指定输出文件名
shell> wget -c 'dowload url' -O mysql-bin.xxxx
# 生成回滚binlog
shell> binary/flashback --binlogFileNames=mysql-bin.xxxx --start-datetime="2020-01-01 12:00:00" --stop-datetime="2020-01-01 13:00:00" --databaseNames=xxx --tableNames=xxx --sqlTypes='UPDATE','DELETE' --outBinlogFileNameBase=xxx
# 查看回滚sql
shell> mysqlbinlog --no-defaults --base64-output=decode-rows -vv xxx.flashback 
# 利用mysqlbinlog回滚
shell> mysqlbinlog --no-defaults xxx.flashback |mysql -hxxx -uxxx -p 

利用binlog2sql回滚最新binlog

# 找到最新binlog
mysql> show binary logs;
# 或者手动生成最新binlog
mysql> flush logs;
# 生成回滚sql -d 指定数据库 -t 指定表 -B 生成回滚sql
shell> python binlog2sql/binlog2sql.py -hxxxx -P3306 -uxxx -p -dxxx -txxx --start-file='mysql-bin.xxxx' --start-datetime='2020-01-01 22:30:00' --stop-datetime='2020-01-01 22:50:00' -B > /tmp/raw.sql
# 人工筛选后执行sql完成回滚

相关文章

  • Mysql数据闪回操作备忘

    准备工作 更新mysql客户端到5.7版本 安装MyFlash 安装 安装binlog2sql 闪回操作 注意:利...

  • binlog2sql实现MySQL误操作的恢复

    对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操...

  • ORACLE 11g的闪回技术

    一.闪回技术简介 为了能够从任何的逻辑操作中迅速恢复,Oracle推出了闪回技术 1.闪回数据库技术:允许复原整个...

  • Oracle 回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 ...

  • Mysql 相关

    MySQL索引 MySQL索引背后的数据结构及算法原理 覆盖索引和回表操作 MySQL性能优化 MySql表分区详...

  • 3 MySQL数据库操作

    2 MySQL数据库操作 3.1 MySQL操作数据库 3.2 MySQL操作数据表 3.2.1 MySQL创建数...

  • 闪回操作

    闪回表数据先让row_movement可编辑select row_movement from user_table...

  • Orace flashback

    oracle flashback 闪回功能,可以闪回删除的表数据,闪回drop的table以及闪回数据库到某个时间...

  • 基于Linux的MySQL操作实例(软件安装,mysql基本操作

    基于Linux的MySQL操作实例(软件安装,mysql基本操作,mysql数据类型,建表、插入数据操作) 前言 ...

  • python对mysql的操作

    python对mysql的操作 Mysql 常见操作 数据库操作 PS:用户权限相关数据保存在mysql数据库的u...

网友评论

      本文标题:Mysql数据闪回操作备忘

      本文链接:https://www.haomeiwen.com/subject/gqfwsktx.html