MySQL通过硬链接删除大表
2021-09-22 本文已影响0人
这货不是王马勺
给instruction表的文件创建硬链接:
ln instruction.frm instruction.frm.bak
ln instruction.ibd instruction.ibd.bak
然后回到mysql命令行,发现能看到此表,
再drop table时,会发现提示找不到这张表了
我们再看.bak文件,.frm.bak已经被删除了,数据库中已经没有此表对象了
我们到information schema中再验证一下,发现果然删除了
此时就能正常将.ibd、.frm、.ibdbak文件删除
为了防止一次性删除大文件引起大量IO,
我们可以分批truncate
truncate -s 20G instruction.ibd.bak