[FAQ] 使用 recover table 恢复被 drop 的表

[问题澄清]

如何使用 recover table 恢复被 drop 的表

[解决方案]

  1. 快速修改gc 时间,避免删除的数据被 gc ,才可以找回数据

    select VARIABLE_NAME, VARIABLE_VALUE from mysql.tidb;

    记录当前变量值

    update mysql.tidb set VARIABLE_VALUE=“24h” where VARIABLE_NAME=“tikv_gc_life_time”;

    将 gc 时间修改为 24h,避免被 gc

  2. 执行 recover table 命令,即可恢复被 drop 表,举例

    image

  3. 等数据恢复后,将 gc 参数修改回之前的变量值,默认为10m

    update mysql.tidb set VARIABLE_VALUE=“10m” where VARIABLE_NAME=“tikv_gc_life_time”;

[参考文档]

https://pingcap.com/docs-cn/v3.0/sql-statements/sql-statement-recover-table/