| 
                           3.执行这个 GTID 的事务 
- SET SESSION GTID_NEXT='对应的 GTID 值';  
 - BEGIN; COMMIT;  
 - SET SESSION GTID_NEXT = AUTOMATIC; 
 
  
  4.继续同步 
5 闪回 
闪回操作就是反向操作,比如执行了 delete from a where id=1,闪回就会执行对应的插入操作 insert into a (id,...) values(1,...),用于误操作数据,只对 DML 语句有效,且要求 binlog 格式设为 ROW。本章介绍两个比较好用的开源工具 
5.1 binlog2sql 
binlog2sql 是大众点评开源的一款用于解析 binlog 的工具,可以用于生成闪回语句,项目地址 binlog2sql 
5.1.1 安装 
- wget https://github.com/danfengcao/binlog2sql/archive/master.zip -O binlog2sql.zip  
 - unzip binlog2sql.zip  
 - cd binlog2sql-master/  
 - # 安装依赖  
 - pip install -r requirements.txt 
 
  
5.1.2 生成回滚SQL 
- python binlog2sql/binlog2sql.py --flashback   
 - -h<host> -P<port> -u<user> -p'<password>' -d<dbname> -t<table_name>  
 - --start-file='<binlog_file>'   
 - --start-datetime='<start_time>'   
 - --stop-datetime='<stop_time>' > ./flashback.sql  
 - python binlog2sql/binlog2sql.py --flashback   
 - -h<host> -P<port> -u<user> -p'<password>' -d<dbname> -t<table_name>   
 - --start-file='<binlog_file>'   
 - --start-position=<start_pos>   
 - --stop-position=<stop_pos> > ./flashback.sql 
 
  
5.2 MyFlash 
MyFlash 是由美团点评公司技术工程部开发维护的一个回滚 DML 操作的工具,项目链接 MyFlash 
限制: 
    -  binlog格式必须为row,且 binlog_row_image=full
 
    -  仅支持5.6与5.7
 
    -  只能回滚DML(增、删、改)
 
 
5.2.1 安装 
- # 依赖(centos)  
 - yum install gcc*  pkg-config glib2 libgnomeui-devel -y  
 - # 下载文件  
 - wget https://github.com/Meituan-Dianping/MyFlash/archive/master.zip -O MyFlash.zip  
 - unzip MyFlash.zip  
 - cd MyFlash-master  
 - # 编译安装  
 - gcc -w  `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c  -o binary/flashback  
 - mv binary /usr/local/MyFlash  
 - ln -s /usr/local/MyFlash/flashback /usr/bin/flashback 
 
  
5.2.2 使用 
生成回滚语句 
- flashback --databaseNames=<dbname> --binlogFileNames=<binlog_file> --start-position=<start_pos> --stop-position=<stop_pos> 
 
  
执行后会生成 binlog_output_base.flashback 文件,需要用 mysqlbinlog 解析出来再使用 
- mysqlbinlog -vv binlog_output_base.flashback | mysql -u<user> -p  
 
  
【编辑推荐】 
    - 如何在Docker中部署MySQL数据库?
 
    - 企业使用数据库的12种姿势
 
    - 打破MySQL变慢瓶颈,是它们限制了MySQL性能
 
    - 网络带宽如何影响 MySQL 性能
 
    - MongoDB数据库误删后的恢复
 
 
【责任编辑:庞桂玉 TEL:(010)68476606】
 
            点赞 0                        (编辑:泰州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |