diff --git a/README.md b/README.md index 9059e3d..ad3eacd 100644 --- a/README.md +++ b/README.md @@ -195,10 +195,11 @@ Empty set (0.00 sec) +----+--------+---------------------+ ``` -### 限制 +### 限制(对比mysqlbinlog) * mysql server必须开启,离线模式下不能解析 * 参数 _binlog\_row\_image_ 必须为FULL,暂不支持MINIMAL +* 解析速度不如mysqlbinlog ### 优点(对比mysqlbinlog) diff --git a/example/mysql-flashback-priciple-and-practice.md b/example/mysql-flashback-priciple-and-practice.md index 4c8b027..cde5815 100644 --- a/example/mysql-flashback-priciple-and-practice.md +++ b/example/mysql-flashback-priciple-and-practice.md @@ -188,14 +188,13 @@ mysql> select count(*) from user; ### TIPS -* 闪回的关键是快速筛选出真正需要回滚的SQL。 +* 闪回的目标:快速筛选出真正需要回滚的数据。 * 先根据库、表、时间做一次过滤,再根据位置做更准确的过滤。 * 由于数据一直在写入,要确保回滚sql中不包含其他数据。可根据是否是同一事务、误操作行数、字段值的特征等等来帮助判断。 -* 执行回滚sql时如有报错,需要查实具体原因,一般是因为对应的数据已发生变化。由于是严格的行模式,只要有唯一键(包括主键)存在,就只会报某条数据不存在的错,不必担心会更新不该操作的数据。 -* 如果待回滚的表与其他表有关联,要与开发说明回滚和不回滚各自的副作用,再确定方案。 -* 回滚后数据变化,可能对用户和线上应用造成困惑(类似幻读)。 +* 执行回滚sql时如有报错,需要查实具体原因,一般是因为对应的数据已发生变化。由于是严格的行模式,只要有唯一键(包括主键)存在,就只会报某条数据不存在的错,不必担心会更新不该操作的数据。业务如果有特殊逻辑,数据回滚可能会带来影响。 +* 如果只回滚某张表,并且该表有关联表,关联表并不会被回滚,需与业务方沟通清楚。 -#### 再重复下最重要的两点:**筛选出正确SQL**!**沟通清楚**! +#### **哪些数据需要回滚,让业务方来判断!** 闪回工具 ===