注意事项
- 在指定恢复时间点时,请务必检查
TIMESTAMP或TSO的有效性,避免指定可能超过 PD 当前分配的最大 TSO(参考 Grafana PD 面板上Current TSO)的未来时间。否则,可能破坏并发处理线性一致性以及事务隔离级别,导致严重的数据正确性的问题。 - 在
FLASHBACK CLUSTER执行期间,数据清理过程不能保证事务的一致性。在FLASHBACK CLUSTER执行完成后,如需使用 TiDB 的任何历史版本读取功能(如Stale Read或tidb_snapshot),请确保所选择的历史时间点不在FLASHBACK运行的时间范围内。如果读取的历史版本包含未FLASHBACK完成的数据,可能会破坏并发处理的线性一致性以及事务隔离级别,导致严重的数据正确性问题。 FLASHBACK CLUSTER TO [TIMESTAMP|TSO]是用最新的时间戳写入特定时间点的旧数据,但不会删除当前数据,所以在使用前请确保集群有足够的存储空间来同时容纳旧数据和当前数据。FLASHBACK CLUSTER指定的时间点不能存在未执行完成的 DDL 记录。若存在,平凯数据库 则会拒绝该 DDL 操作并且闪回失败。- 在执行
FLASHBACK CLUSTER前,平凯数据库 会主动断开所有相关表上的连接,并禁止对这些表进行读写操作,直到FLASHBACK CLUSTER完成。
数据闪回
数据闪回是一种在数据库中进行异常数据恢复的高级技术,它可以将数据库还原到之前的某个时间点,从而消除误操作、错误数据或系统故障引起的问题。
查看数据闪回记录
在数据闪回页面中,可以查看所有的数据闪回记录

查看参数
点击 参数查看 按钮跳转到参数页,可查看与 tidb_gc 有关的参数设置情况

点击对应变量右侧的操作按钮可以进行 修改变量值 和 查看修改历史 操作,其中相关的变量及其含义如下表所示: | 系统变量名称 | 默认值 | 取值范围 | 含义 | |-------------|--------|----------|----------| | tidb_gc_concurrency | -1 | [1-256] | 控制 GC 工作的并发度。默认值 -1 表示自动根据 CPU 核心数计算合适的并发度。增加此值可以提高 GC 效率,但会消耗更多系统资源。 | | tidb_gc_enable | on | on/off | 控制是否启用 TiDB 的垃圾回收机制。设置为 off 会禁用 GC,可能导致历史数据不断积累,占用大量存储空间。通常不建议禁用。 | | tidb_gc_life_time | 10m0s | Go Duration 格式 | 指定每次垃圾回收时保留数据的时限。GC 会以当前时间减去此值作为安全点(safe point)。设置过大会增加存储占用并可能影响范围查询性能;设置过小可能导致需要读取历史数据的查询失败。 | | tidb_gc_max_wait_time | 86400 | [600-31536000] | 控制活跃事务最多可以阻塞 GC 安全点推进的时间(秒)。默认 86400 秒(24 小时)。防止长事务导致 GC 无法及时清理过期数据。 | | tidb_gc_run_interval | 10m0s | Go Duration 格式 | 控制 GC 运行的间隔时间。默认每 10 分钟运行一次。缩短间隔可以提高空间回收速度,但会增加系统负担;延长间隔可减少 GC 开销,但可能导致空间释放延迟。 | | tidb_gc_scan_lock_mode | LEGACY | [PHYSICAL,LEGACY] | 控制 GC 扫描锁的方式。LEGACY 模式使用传统的扫描方式;PHYSICAL 模式使用物理扫描,可以提高大规模集群的 GC 效率,但需要 TiKV 4.0.7 及以上版本支持。 |
新建闪回
点击 新建闪回 按钮,填写闪回信息后可以开启闪回操作,您可以从 集群,数据库 和 表 三个不同维度完成闪回操作。
对于集群的闪回操作,您可以选择熟悉的日期格式来指定闪回的时间点。对于 TSO 时间格式,您可以通过下面的 SQL 语句来获取:
mysql> SELECT @@tidb_current_ts;
+--------------------+
| @@tidb_current_ts |
+--------------------+
| 446113975683252225 |
+--------------------+
1 row in set (0.00 sec)
查看闪回详情
您可以在数据闪回的列表页中,点击相应条目右侧的操作按钮来查看闪回成功的详细信息或闪回失败的错误信息
