Navigation Menu

Skip to content

Commit

Permalink
midify README
Browse files Browse the repository at this point in the history
  • Loading branch information
danfengcao committed Jun 7, 2017
1 parent c510a63 commit 8ffa5ac
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -195,10 +195,11 @@ Empty set (0.00 sec)
+----+--------+---------------------+
```
### 限制
### 限制(对比mysqlbinlog)
* mysql server必须开启,离线模式下不能解析
* 参数 _binlog\_row\_image_ 必须为FULL,暂不支持MINIMAL
* 解析速度不如mysqlbinlog
### 优点(对比mysqlbinlog)
Expand Down
9 changes: 4 additions & 5 deletions example/mysql-flashback-priciple-and-practice.md
Expand Up @@ -188,14 +188,13 @@ mysql> select count(*) from user;
### TIPS
* 闪回的关键是快速筛选出真正需要回滚的SQL
* 闪回的目标:快速筛选出真正需要回滚的数据
* 先根据库、表、时间做一次过滤,再根据位置做更准确的过滤。
* 由于数据一直在写入,要确保回滚sql中不包含其他数据。可根据是否是同一事务、误操作行数、字段值的特征等等来帮助判断。
* 执行回滚sql时如有报错,需要查实具体原因,一般是因为对应的数据已发生变化。由于是严格的行模式,只要有唯一键(包括主键)存在,就只会报某条数据不存在的错,不必担心会更新不该操作的数据。
* 如果待回滚的表与其他表有关联,要与开发说明回滚和不回滚各自的副作用,再确定方案。
* 回滚后数据变化,可能对用户和线上应用造成困惑(类似幻读)。
* 执行回滚sql时如有报错,需要查实具体原因,一般是因为对应的数据已发生变化。由于是严格的行模式,只要有唯一键(包括主键)存在,就只会报某条数据不存在的错,不必担心会更新不该操作的数据。业务如果有特殊逻辑,数据回滚可能会带来影响。
* 如果只回滚某张表,并且该表有关联表,关联表并不会被回滚,需与业务方沟通清楚。
#### 再重复下最重要的两点:**筛选出正确SQL**!**沟通清楚**!
#### **哪些数据需要回滚,让业务方来判断!**
闪回工具
===
Expand Down

0 comments on commit 8ffa5ac

Please sign in to comment.