mysql4ge表联表查询_【MySQL】MariaDB10.2新特性--Flashback

MariaDB10.2新特性--Flashback

Flashback可以回滚到旧的数据,用于解决用户误删除数据的问题。

实战例子

MariaDB [zsd]> select * from test;

+------+-----------+

| id | name |

+------+-----------+

| 1 | 张盛东 |

| 2 | 刘忠浩 |

| 3 | 胡轲 |

+------+-----------+

3 rows in set (0.001 sec)

MariaDB [zsd]> select now();

+---------------------+

| now() |

+---------------------+

| 2019-09-26 16:17:51 |

+---------------------+

1 row in set (0.000 sec)

MariaDB [zsd]> delete from test;

Query OK, 3 rows affected (0.012 sec)

MariaDB [zsd]> commit;

Query OK, 0 rows affected (0.000 sec)

MariaDB [zsd]> select * from test;

Empty set (0.000 sec)

对插入之前的时间点,做基于时间点的闪回查询,如下:

[mysql@oradb ~]$ mysqlbinlog /u01/data/binlog/mysql-bin.000003 -vv -d zsd -T test --start-datetime="2019-09-26 16:17:51" --flashback

mariadb它比Oracle更好的是,你知道恢复的数据是什么,如下:

/*!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 /*!*/;

#190926 15:25:20 server id 30200 end_log_pos 256 CRC32 0x508a050f Start: binlog v 4, server v 10.3.18-MariaDB-log created 190926 15:25:20 at startup

# Warning: this binlog is either in use or was not closed properly.

ROLLBACK/*!*/;

BINLOG '

4GeMXQ/4dQAA/AAAAAABAAABAAQAMTAuMy4xOC1NYXJpYURCLWxvZwAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAADgZ4xdEzgNAAgAEgAEBAQEEgAA5AAEGggAAAAICAgCAAAACgoKAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

AAAAAAAAAAAEEwQADQgICAoKCgEPBYpQ

'/*!*/;

#190926 16:17:56 server id 30200 end_log_pos 1073 CRC32 0x57f3bac4 Annotate_rows:

#Q> delete from test

#190926 16:17:56 server id 30200 end_log_pos 1126 CRC32 0x1d0d9eaf Table_map: `zsd`.`test` mapped to number 33

# Number of rows: 3

#190926 16:17:56 server id 30200 end_log_pos 1359 CRC32 0xb26e3c08 Xid = 98

BEGIN/*!*/;

#190926 16:17:56 server id 30200 end_log_pos 1328 CRC32 0x97af664e Update_rows: table id 33 flags: STMT_END_F

BINLOG '

NHSMXRP4dQAANQAAAGYEAAAAACEAAAAAAAEAA3pzZAAEdGVzdAAEAw8REQQ8AAYGA6+eDR0=

NHSMXRj4dQAAygAAADAFAAAAACEAAAAAAAEABP//8AMAAAAG6IOh6L2yXYxrKARwLV2MdDQHfbTw

AwAAAAbog6HovbJdjGsoBHAtfw9CP/ACAAAACeWImOW/oOa1qV2MauMNiCVdjHQ0B3208AIA

AAAJ5YiY5b+g5rWpXYxq4w2IJX8PQj/wAQAAAAnlvKDnm5vkuJxdjGrjDYglXYx0NAd9tPAB

AAAACeW8oOebm+S4nF2MauMNiCV/D0I/Tmavlw==

'/*!*/;

### UPDATE `zsd`.`test`

### WHERE

### @1=3 /* INT meta=0 nullable=1 is_null=0 */

### @2='胡轲' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483560.290861 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=1569485876.490932 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### SET

### @1=3 /* INT meta=0 nullable=1 is_null=0 */

### @2='胡轲' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483560.290861 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=2147483647.999999 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### UPDATE `zsd`.`test`

### WHERE

### @1=2 /* INT meta=0 nullable=1 is_null=0 */

### @2='刘忠浩' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483491.886821 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=1569485876.490932 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### SET

### @1=2 /* INT meta=0 nullable=1 is_null=0 */

### @2='刘忠浩' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483491.886821 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=2147483647.999999 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### UPDATE `zsd`.`test`

### WHERE

### @1=1 /* INT meta=0 nullable=1 is_null=0 */

### @2='张盛东' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483491.886821 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=1569485876.490932 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### SET

### @1=1 /* INT meta=0 nullable=1 is_null=0 */

### @2='张盛东' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */

### @3=1569483491.886821 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

### @4=2147483647.999999 /* TIMESTAMP(6) meta=6 nullable=0 is_null=0 */

COMMIT

/*!*/;

COMMIT

/*!*/;

DELIMITER ;

# End of log file

ROLLBACK /* added by mysqlbinlog */;

/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;

/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

执行flashback恢复操作

目的:闪回数据库zsd中的test 表。

[mysql@oradb ~]$ mysqlbinlog /u01/data/binlog/mysql-bin.000003 -vv -d zsd -T test --start-datetime="2019-09-26 16:17:51" --flashback | mysql -uroot -predhat

[mysql@oradb ~]$ mysql -uroot -predhat

MariaDB [(none)]> use zsd;

Database changed

MariaDB [zsd]> select * from test;

+------+-----------+

| id | name |

+------+-----------+

| 1 | 张盛东 |

| 2 | 刘忠浩 |

| 3 | 胡轲 |

+------+-----------+

3 rows in set (0.000 sec)

MariaDB [zsd]>

可以看到之前删除的三条数据,恢复了。

参考文献

https://mariadb.com/kb/en/library/flashback/

【MySQL】MariaDB10.2新特性--Flashback

标签:实战   perl   闪回查询   upd   flag   class   恢复操作   date   基于

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:https://www.cnblogs.com/zhangshengdong/p/11724941.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值