MySQL 备份与恢复详解(6)

恢复的时间点,然后再利用二进制日志恢复到指定的时间点 
Mysqlbinlog工具可以用来解析二进制日志的内容,让日志可以被执行或者是查看 
在数据库中重新执行某个二进制日志文件中的内容,可以使用如下命令

1

2

3

4

5

 

shell> mysqlbinlog binlog_files | mysql -u root -p

shell> mysqlbinlog binlog.000001 binlog.000002 | mysql -u root -p

或者是先把日志文件内容解析出来,然后再执行

shell> mysqlbinlog binlog_files > tmpfile

shell> mysql -u root -p < tmpfile

 

模拟数据测试基于时间点恢复:

1

2

3

4

5

6

7

8

9

10

11

12

13

 

mysql> use course;

mysql> delte from students;

mysql> alter table students add tstamp timestamp;

mysql> flush logs; #刷新一下二进制日志,新生成一个二进制日志

 

#插入数据 ,flush logs新生成一个二进制文件

mysql> insert into students(sid,sname,gender,dept_id) values(1,'a',1,1),(2,'b',2,2);

mysql> flush logs;

mysql> insert into students(sid,sname,gender,dept_id) values(3,'c',3,3),(4,'d',4,3);

mysql> flush logs;

mysql>  insert into students(sid,sname,gender,dept_id) values(5,'e',5,3),(6,'f',6,3);

mysql> flush logs;

mysql> select * from students;

 

MySQL 备份与恢复详解

删除表里全部数据,进行模拟恢复 
第一个的flush logs的时候alter table

MySQL 备份与恢复详解

插入a,b的那次数据的二进制日志文件

MySQL 备份与恢复详解

 恢复第一个二进制日志文件:插入a,b

 

1

2

3

4

5

6

7

 

mysql> truncate table students; ##先删除表里的全部数据

 

mysql> desc students;

恢复第一个二进制日志文件:插入a,b

可以通过mysqlbinlog 查询一下二进制文件看看里面的具体内容

 

[root@master01 data]# mysql -u root -p < /tmp/mysqlbinlog46.sql

 

MySQL 备份与恢复详解

恢复第二个二进制日志文件:

1

2

3

 

[root@master01 data]# mysqlbinlog -v mysql-bin.000047 > /tmp/mysqlbinlog47.sql

[root@master01 data]# mysql -u root -p < /tmp/mysqlbinlog47.sql

Enter password:

 

  

MySQL 备份与恢复详解

如果是恢复某个日志文件中的一部分内容,可以通过指定—start-datetime或者是—stop-datetime参数来确定开始恢复时间和停止恢复时间

比如将数据库恢复到2018-09-19 19:06:08的时刻: 
涉及到mysql-bin.000048文件内容

1

2

 

[root@master01 data]# mysqlbinlog -v --stop-datetime="2018-09-19 19:06:46"  mysql-bin.000048 | mysql -u root -p

Enter password:

 

MySQL 备份与恢复详解

基于时间点的恢复也可以指定日志文件中的位置通过设置–start-position和–stop-position两个参数

1

2

3

 

mysql> truncate table students;

mysql> select * from students;

Empty set (0.00 sec)

 

看一下二进制的具体内容

MySQL 备份与恢复详解

从一个完整的日志位置恢复 或则commit 提交以后–stop-position位置恢复

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/da5dc0e700869060a288b7581c36f8af.html