表被误drop 后, 并有重建过同名表, 在使用recover 时 ,报错 ERROR 1105 (HY000): invalid ddl job type: none

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.1
  • 【问题描述】:误删时间:2020-06-17 12:40:00左右,表被误drop 后, 并有重建过同名表, 发现误操作后, 已经把GC时间(tikv_gc_run_interval,tikv_gc_life_time)从10分钟设置成一天:
    第一次恢复:
    RECOVER TABLE tp_standard_fragdatag

    ERROR 1050 (42S01): Table ‘tp_standard_fragdatag’ already exists

把新表重命名后再恢复:
alter table tp_standard_fragdatag rename to tp_standard_fragdatag1;
recover table tp_standard_fragdatag;
报以下错误 :
ERROR 1105 (HY000): invalid ddl job type: none

通过 ADMIN SHOW DDL JOBS ; 查出对应的 job_id 为 28618: 通过指定jobid 执行recover:
RECOVER TABLE BY JOB 28618;
依然报:
ERROR 1105 (HY000): invalid ddl job type: none

期间有多次rename table , 导致现在执行 ADMIN SHOW DDL JOBS ,看到的都是rename

这只是其中一个表, 一个误删了7个表 , 请问如何恢复数据 , 急 !!!

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

多次drop,rename可能无法通过flash或者recover恢复。这里恢复的都是第一次的。 尝试使用set tidb_snapshot 是否还可以找回.