TiDB读取历史数据时无法保存

我安装https://book.tidb.io/session3/chapter5/recover-data-gc.html文档,操作 5.1.4 恢复被更新/删除的数据时遇到问题。

MySQL [test1]> set @@tidb_snapshot=“2020-09-17 16:44:09”;
Query OK, 0 rows affected (0.02 sec)
MySQL [test1]> show tables;
±----------------+
| Tables_in_test1 |
±----------------+
| test1 |
±----------------+
1 row in set (0.00 sec)

MySQL [test1]> create table test1_20200917 like test1;
ERROR 1105 (HY000): can not execute write statement when ‘tidb_snapshot’ is set!

1600338897485_6E1C6BE3-4877-41ee-A1CA-253ACADA49A0|690x235

创建表时报上面错误,请问TiDB读取历史数据时是只读的吗,有什么方法可以将目前的数据切换到历史时间点的数据呢?感谢

  1. set snapshot 不能在创建了,等于设置了之前的时间,又想要在之前的时间创建新表。
  2. 使用 mydumper 导出,再导入吧
1 Like

你好,请问他这个实验是怎么做成功的,我的恢复表也报这个错误。

不能在已经set @@tidb_snapshot=的出口有写操作,你写数据新开一个窗口

你恢复报啥错

image 就报这个

新开一个窗口,那查询出表的数据不应该还是当前的吗?我在另一个窗口可以执行,确实是恢复过来了,请问flashback 是不是只是恢复表的上一个状态呢?问题解决了,之前不是太理解,非常感谢

image 这新开了一个窗口,查询数据就没有了,如果不设置 @@tidb_snapshot 这个又查看不到, @@tidb_snapshot这个参数我不知道是做啥的