MySQL binlog基于时间点的恢复测试

         面对公司逐渐引入了MySQL运维项目,不得不研究一些关于MySQL 方面的东西 ,以前只是做SQLDBA,并非接触过Linux,学习MySQL数据库首先得难关就是Linux日常操作,为了熟练掌握MySQL数据库的一些知识,以下做了MySQL binlog基于时间点的恢复测试,具体操作步骤如下:

         第一步: 首先检查数据库是否开启了二进制日志

                    show variables like '%log_bin%';

                           +---------------------------------+-------+
                            | Variable_name                   | Value |
                           +---------------------------------+-------+
                            | log_bin                         | OFF  |
                            | log_bin_trust_function_creators | OFF   |
                            | sql_log_bin                     | ON    |
                          +---------------------------------+-------+
                              3 rows in set (0.00 sec)

                         进入my.cnf,添加如下:

                       【mysqld】

                             log-bin=mysql-bin

                              重启数据库服务即可

         第二步:进入数据库创建测试:

                  1,创建数据库以及表

create   database    mysqltest                      

  use   mysqltest

go

create table t2(

id  int auto_increment primary key,

name  nvarchar(20) default  'XXX',

udate  timestamp  NULL default  CURRENT_TIMESTAMP )

2,插入数据

insert into t2 (name) values ('yangbaobao');
insert into t2 (name)select name from t2;

3,备份现有的数据库

mysqldump -uroot -p --databases mysqltest >mysqltest.sql

            4,再次登入数据库

                          use mysqltest 

                          create table t3

                          (id  int auto_increment primary key,

                          name  nvarchar(20) default  'XXX',

                          udate  timestamp  NULL default  CURRENT_TIMESTAMP

                        );
                        insert into t3 (name) values ('yangbaobao');

           5,删除以上两张表

                          drop table t2

                          drop table t3

          6, 查看当前二进制日志

                    show binary  logs;

                   show binlog  events  in 'mysql-bin-00000XX'

          7恢复mysqltest数据库备份,挖掘log-bin日志并进行恢复

                  恢复全备:   source    mysqltest

                  恢复日志 : mysqlbinlog mysql-bin.000018 --start-position=2916 --stop-position=4469 | mysql -uroot -p

           8,登入数据库确认数据库时间点恢复情况


                 最后,希望大神们多多指点不足之处~~~~


      


你可能感兴趣的:(MySQL时间点恢复)