|   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  
 【编辑推荐】 
    【责任编辑:庞桂玉 TEL:(010)68476606】如何在Docker中部署MySQL数据库?企业使用数据库的12种姿势打破MySQL变慢瓶颈,是它们限制了MySQL性能网络带宽如何影响 MySQL 性能MongoDB数据库误删后的恢复 点赞 0
 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |