配置3600s的延迟从库mysql
stop slave; change master to master_delay = 3600; start slave;
主库drop表sql
use test;
drop table t1;
若是发现主库出现误操做,第一时间关闭从库sql_thread数据库
stop slave sql_thread;
主库解析binlog,找到关键字DROP TABLE 相关的那条日志spa
/usr/local/mysql/bin/mysqlbinlog -vvv --base64-output=decode-rows mysql-bin.000050 > /tmp/1.log日志
# at 43456042 #190918 14:34:39 server id 1753333 end_log_pos 43456103 GTID last_committed=26452 sequence_number=26453 rbr_only=no SET @@SESSION.GTID_NEXT= '44b68395-ca31-11e9-b10a-00163e3211a2:443813'/*!*/; # at 43456103 #190918 14:34:39 server id 1753333 end_log_pos 43456214 Query thread_id=73858 exec_time=0 error_code=0 SET TIMESTAMP=1568788479/*!*/; DROP TABLE `t1` /* generated by server */ /*!*/;
从库开启复制,until到drop以前的事务code
change master to master_delay = 0;
start slave until sql_before_gtids = '44b68395-ca31-11e9-b10a-00163e3211a2:443813';
而后从库将该表dump出来,导入到主库中。server
而后从库重启一下同步blog
stop slave; change master to master_delay = 3600; start slave;