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 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|