MyFlash 安装
简介
MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 该工具已经在美团点评内部使用。
安装
1. MyFlash官网
https://github.com/Meituan-Dianping/MyFlash
2. 环境要求
- binlog格式必须为row,且binlog_row_image=full
- 仅支持5.6与5.7版本
- 只能回滚DML(增、删、改)
3. MyFlash安装
1. 安装依赖
yum install gcc* pkg-config glib2 libgnomeui-devel -y
2. 克隆源代码
git clone https://github.com/Meituan-Dianping/MyFlash.git
3. 开始安装
cd MyFlash
gcc -w `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c -o binary/flashback
4. 配置环境变量
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;多个类型可以用“,”隔开;
2. 执行回滚
# 在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
# 输入数据库密码
本文作者:逢生博客
本文链接:https://www.cnblogs.com/wufengsheng/p/16298044.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步