设为首页 收藏本站
查看: 643|回复: 0

[经验分享] MySQL Flashback功能测试

[复制链接]

尚未签到

发表于 2018-10-3 08:05:12 | 显示全部楼层 |阅读模式
# 查看insert之前的数据  

  
mysql> select * from test.t;
  
+----+---------+
  
| id | name    |
  
+----+---------+
  
|  1 | xm      |
  
|  2 | xmj     |
  
|  3 | xuwu    |
  
|  4 | chuzan  |
  
|  5 | chuzan2 |
  
|  6 | chuzan3 |
  
|  7 | 王五    |
  
|  8 | 赵六    |
  
+----+---------+
  
8 rows in set (0.00 sec)
  

  
# insert 错误数据
  
mysql> insert into test.t(name) values('七七八八');
  
Query OK, 1 row affected (0.00 sec)
  
# insert 错误数据
  
mysql> insert into test.t(name) values('二五六');
  
Query OK, 1 row affected (0.00 sec)
  
# insert 正确数据,不要恢复
  
mysql> insert into test.t(name) values('徐武');
  
Query OK, 1 row affected (0.00 sec)
  
# insert 正确数据,不要恢复
  
mysql> insert into test.t(name) values('徐陆');
  
Query OK, 1 row affected (0.00 sec)
  

  
# 查询insert 错误数据后的结果,现不需要'七七八八'和'二五六' 这两条数据。
  

  
mysql> select * from test.t;
  
+----+--------------+
  
| id | name         |
  
+----+--------------+
  
|  1 | xm           |
  
|  2 | xmj          |
  
|  3 | xuwu         |
  
|  4 | chuzan       |
  
|  5 | chuzan2      |
  
|  6 | chuzan3      |
  
|  7 | 王五         |
  
|  8 | 赵六         |
  
|  9 | 七七八八     |
  
| 10 | 二五六       |
  
| 11 | 徐武         |
  
| 12 | 徐陆         |
  
+----+--------------+
  
12 rows in set (0.00 sec)
  

  
mysql>
  

  

  
mysql> show master logs;
  

  
+------------------+-----------+
  
| Log_name         | File_size |
  
+------------------+-----------+
  
| mysql-bin.000001 |       811 |
  
| mysql-bin.000002 |      1677 |
  
+------------------+-----------+
  
2 rows in set (0.00 sec)
  

  
mysql>
  

  
# 查看binlog
  

  
[root@TestServer01 ~]# ./mysqlbinlog -v /data/mysql/mysql_3306/logs/mysql-bin.000002  |egrep  "^#[0-9]{6}|^#{1} at|^#{3}"
  

  
# at 865
  
#161221 17:02:03 server id 213306  end_log_pos 896 CRC32 0xb8cb8180 Xid = 378
  
# at 896
  
#161221 17:21:44 server id 213306  end_log_pos 964 CRC32 0x50a350b3 Ignorablethread_id=26exec_time=0error_code=0
  
# at 964
  
#161221 17:21:44 server id 213306  end_log_pos 1011 CRC32 0x8710413b Table_map: `test`.`t` mapped to number 77
  
# at 1011
  
#161221 17:21:44 server id 213306  end_log_pos 1064 CRC32 0x2bb90a24 Write_rows: table id 77 flags: STMT_END_F
  
### INSERT INTO `test`.`t`
  
### SET
  
###   @1=9
  
###   @2='七七八八'
  
# at 1064
  
#161221 17:21:44 server id 213306  end_log_pos 1095 CRC32 0x2e48ad77 Xid = 385
  
# at 1095
  
#161221 17:21:56 server id 213306  end_log_pos 1163 CRC32 0xbcc87449 Ignorablethread_id=26exec_time=0error_code=0
  
# at 1163
  
#161221 17:21:56 server id 213306  end_log_pos 1210 CRC32 0x518a5946 Table_map: `test`.`t` mapped to number 77
  
# at 1210
  
#161221 17:21:56 server id 213306  end_log_pos 1260 CRC32 0x935c3329 Write_rows: table id 77 flags: STMT_END_F
  
### INSERT INTO `test`.`t`
  
### SET
  
###   @1=10
  
###   @2='二五六'
  
# at 1260
  
#161221 17:21:56 server id 213306  end_log_pos 1291 CRC32 0xebaa0357 Xid = 386
  
# at 1291
  
#161221 17:22:12 server id 213306  end_log_pos 1359 CRC32 0x337d6793 Ignorablethread_id=26exec_time=0error_code=0
  
# at 1359
  
#161221 17:22:12 server id 213306  end_log_pos 1406 CRC32 0x0ae07c99 Table_map: `test`.`t` mapped to number 77
  
# at 1406
  
#161221 17:22:12 server id 213306  end_log_pos 1453 CRC32 0xd4af7b22 Write_rows: table id 77 flags: STMT_END_F
  
### INSERT INTO `test`.`t`
  
### SET
  
###   @1=11
  
###   @2='徐武'
  
# at 1453
  
#161221 17:22:12 server id 213306  end_log_pos 1484 CRC32 0xc039e7f0 Xid = 387
  
# at 1484
  
#161221 17:22:20 server id 213306  end_log_pos 1552 CRC32 0x789d671f Ignorablethread_id=26exec_time=0error_code=0
  
# at 1552
  
#161221 17:22:20 server id 213306  end_log_pos 1599 CRC32 0xde45bfaf Table_map: `test`.`t` mapped to number 77
  
# at 1599
  
#161221 17:22:20 server id 213306  end_log_pos 1646 CRC32 0xeb6b1317 Write_rows: table id 77 flags: STMT_END_F
  
### INSERT INTO `test`.`t`
  
### SET
  
###   @1=12
  
###   @2='徐陆'
  
# at 1646
  
#161221 17:22:20 server id 213306  end_log_pos 1677 CRC32 0x6902422a Xid = 388
  

  

  

  
# 加-B参数得到反转SQL,仔细看反转SQL是DELETE语句。
  

  
[root@TestServer01 ~]# ./mysqlbinlog -B -v --start-position 964 --stop-position 1291 /data/mysql/mysql_3306/logs/mysql-bin.000002
  
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
  
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
  
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
  
DELIMITER /*!*/;
  
#161221 16:31:23 server id 213306  end_log_pos 120 CRC32 0x5e5e4653 Start: binlog v 4, server v 5.6.29-log created 161221 16:31:23
  
# Warning: this binlog is either in use or was not closed properly.
  
BINLOG '
  
2z1aWA86QQMAdAAAAHgAAAABAAQANS42LjI5LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAVNG
  
Xl4=
  
'/*!*/;
  
#161221 17:21:44 server id 213306  end_log_pos 1011 CRC32 0x8710413b Table_map: `test`.`t` mapped to number 77
  
#161221 17:21:44 server id 213306  end_log_pos 1095 CRC32 0x2e48ad77 Xid = 385
  
COMMIT/*!*/;
  
#161221 17:21:56 server id 213306  end_log_pos 1210 CRC32 0x518a5946 Table_map: `test`.`t` mapped to number 77
  
#161221 17:21:56 server id 213306  end_log_pos 1291 CRC32 0xebaa0357 Xid = 386
  
COMMIT/*!*/;
  
#161221 17:21:56 server id 213306  end_log_pos 1260 CRC32 0x935c3329 Write_rows: table id 77 flags: STMT_END_F
  

  
BINLOG '
  
tElaWBM6QQMALwAAALoEAAAAAE0AAAAAAAEABHRlc3QAAXQAAgMPApYAAEZZilE=
  
tElaWCA6QQMAMgAAAOwEAAAAAE0AAAAAAAEAAgAC//wKAAAACeS6jOS6lOWFrSkzXJM=
  
'/*!*/;
  
### DELETE FROM `test`.`t`
  
### WHERE
  
###   @1=10
  
###   @2='二五六'
  
#161221 17:21:44 server id 213306  end_log_pos 1064 CRC32 0x2bb90a24 Write_rows: table id 77 flags: STMT_END_F
  

  
BINLOG '
  
qElaWBM6QQMALwAAAPMDAAAAAE0AAAAAAAEABHRlc3QAAXQAAgMPApYAADtBEIc=
  
qElaWCA6QQMANQAAACgEAAAAAE0AAAAAAAEAAgAC//wJAAAADOS4g+S4g+WFq+WFqyQKuSs=
  
'/*!*/;
  
### DELETE FROM `test`.`t`
  
### WHERE
  
###   @1=9
  
###   @2='七七八八'
  
DELIMITER ;
  
DELIMITER ;
  
# End of log file
  
ROLLBACK /* added by mysqlbinlog */;
  
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
  
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
  

  

  

  
# 找准POS点,直接恢复。
  
[root@TestServer01 ~]# ./mysqlbinlog -B -v --start-position 964 --stop-position 1291 /data/mysql/mysql_3306/logs/mysql-bin.000002 | \
  
>  mysql -uroot -p123456 -S /data/mysql/mysql_3306/mysql.sock
  

  
[root@TestServer01 ~]#
  
[root@TestServer01 ~]# ./login_mysql 3306
  
Warning: Using a password on the command line interface can be insecure.
  
Welcome to the MySQL monitor.  Commands end with ; or \g.
  
Your MySQL connection id is 29
  
Server version: 5.6.29-log MySQL Community Server (GPL)
  

  
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  

  
Oracle is a registered trademark of Oracle Corporation and/or its
  
affiliates. Other names may be trademarks of their respective
  
owners.
  

  
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  

  
mysql> select * from test.t;
  
+----+---------+
  
| id | name    |
  
+----+---------+
  
|  1 | xm      |
  
|  2 | xmj     |
  
|  3 | xuwu    |
  
|  4 | chuzan  |
  
|  5 | chuzan2 |
  
|  6 | chuzan3 |
  
|  7 | 王五    |
  
|  8 | 赵六    |
  
| 11 | 徐武    |
  
| 12 | 徐陆    |
  
+----+---------+
  
10 rows in set (0.00 sec)
  

  
# 至此insert 语句也恢复成功!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607972-1-1.html 上篇帖子: bind dlz-mysql 下篇帖子: linux下的mysql的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表