删除数据库,磁盘空间没变少

是需要等一会儿的

tidb 删除数据后会先把要清理的 kv 段写入 mysql.gc_delete_range,里面有个 ts 记录删库的时间戳
然后每 @@tidb_gc_run_interval 会检查一次,如果当前集群 min(minStartTs, now) + @@tidb_gc_life_time > ts,则会实际清理
所以数据没清理掉可能是

  1. @@tidb_gc_run_interval 没到,还没开始清理逻辑
  2. 还没过 @@tidb_gc_life_time,数据还存活
  3. 当前有正在进行的 txn 卡住了 min(minStartTs, now) 的计算

具体可以在 tidb log 里以 “[gc worker]” 为关键字搜索 (只有一台 tidb 会成为 gc leader,可能得到处看看)

2 个赞