MyFlash 安装
Tue 23 September 2025
MyFlash 安装 简介 MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 该工具已经在美团点评内部使用。
安装 1. MyFlash官网 https://github.com/Meituan-Dianping/MyFlash
- 环境要求 binlog格式必须为row,且binlog_row_image=full 仅支持5.6与5.7版本 只能回滚DML(增、删、改)
- MyFlash安装
- 安装依赖 yum install gcc* pkg-config glib2 libgnomeui-devel -y
- 克隆源代码 git clone https://github.com/Meituan-Dianping/MyFlash.git
- 开始安装
cd MyFlash
gcc -w
pkg-config --cflags --libs glib-2.0source/binlogParseGlib.c -o binary/flashback - 配置环境变量 vim /etc/profile
在文件最后一行添加
alias flashback=/home/MyFlash/binary/flashback
生效环境配置
source /etc/profile 5. 检查安装成功 cd /home/MyFlash/binary ./flashback --help 4. MySQL配置 -- 查看MySQL版本 select version(); -- 查看是否开启biglog show variables like 'log_bin'; 1. 创建binlog目录
创建目录
mkdir logs
设置权限
chmod -R 777 /home/logs/ chown mysql:mysql /home/logs/ 2. 开启biglog vim /etc/my.cnf
[mysqld] log-bin = /home/logs/mysql-bin.log expire-logs-days = 5 max-binlog-size = 500M server-id = 1 binlog_format=ROW 3. 重启MySQL
重启
service mysqld restart
启动
service mysqld start
停止
service mysqld stop 5. 闪回操作
查看biglog日志
mysqlbinlog /home/logs/mysql-bin.000001 –base64-output=decode-rows -v 1. 生成回滚文件
进入MyFlash的bin目录
cd /home/MyFlash/binary
执行回滚文件 binlog_output_base.flashback
./flashback --binlogFileNames=/home/logs/mysql-bin.000001 --sqlTypes='INSERT' --databaseNames=test_db --tableNames=app_user --start-datetime='2020-04-28 16:00:00' 命令行选项
命令 描述 binlogFileNames binlog 文件所在目录位置; databaseNames 指定需要回滚的数据库名; tableNames 指定需要回滚的表名; start-datetime 指定回滚的开始时间,不指定则不限定时间,%Y-%m-%d %H:%M:%S; stop-datetime 指定回滚的结束时间,不指定则不限定时间,%Y-%m-%d %H:%M:%S; start-position 指定回滚开始的位置 stop-position 指定回滚结束的位置 sqlTypes 指定需要回滚的sql类型; 目前支持的过滤类型是INSERT, UPDATE ,DELETE;多个类型可以用“,”隔开;
- 执行回滚
在binlog_output_base.flashback所在目录下执行以下命令
mysqlbinlog binlog_output_base.flashback | mysql -h 127.0.0.1 -uroot -p
或
mysqlbinlog binlog_output_base.flashback | mysql -uroot -p
输入数据库密码
Category: 编程mysql