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
上一篇下一篇

猜你喜欢

热点阅读