mysqlbinlog基于时间点恢复

基于时间点恢复

/data/mysq/mysqlbin.000026

#mysqlbinlog文件,恢复如下内容:

注意:按照时间点恢复时,可能同一个时间点有其他的操作,要结合上下文的时间选取~

# at 523

#181113 17:15:44 server id 161  end_log_pos 554 CRC32 0x2ad408d1 Xid = 4203

COMMIT/*!*/;

# at 554

#181113 17:16:01 server id 161  end_log_pos 637 CRC32 0x2b50f226 Query thread_id=324 exec_time=0 error_code=0

SET TIMESTAMP=1542100561/*!*/;

BEGIN

/*!*/;

# at 637

#181113 17:16:01 server id 161  end_log_pos 746 CRC32 0x711957ca Query thread_id=324 exec_time=0 error_code=0

SET TIMESTAMP=1542100561/*!*/;

update test set id=3 where id=4  #要取出的内容

/*!*/;

# at 746

#181113 17:16:01 server id 161  end_log_pos 777 CRC32 0x48210a15 Xid = 4217

COMMIT/*!*/;

# at 777

#181113 17:16:29 server id 161  end_log_pos 1201 CRC32 0xe8aa067a Query thread_id=324 exec_time=0 error_code=0

use `test`/*!*/;

SET TIMESTAMP=1542100589/*!*/;

create table student(

#基于时间恢复的命令如下:

[root@a mysql]# mysqlbinlog  mysqlbin.000026 --start-datetime='2018-11-13 17:15:50' --stop-datetime='2018-11-13 17:16:25' -r /opt/time.binlog

[root@a mysql]# grep update /opt/time.binlog

update test set id=3 where id=4

上一篇:设备文件三大结构:inode,file,file_operations


下一篇:NOIP2011 题解