mysql galera 表_MySQL Galera Cluster 快速删除大表

MySQL Galera Cluster 快速删除大表

先上步骤,以下步骤每台机器上都要按顺序执行。(一台一台搞):

第一步:为ibd文件创建硬链接来加速删除,减少对数据库造成的影响。

cd /data/mysqldata/test/

ln sbtest1.ibd sbtest1.ibd.hdlk

第二步:进入MySQL,执行两条命令,在执行set命令之后,此session就不要对数据进行操作了,避免数据不同步。

set @@session.wsrep_on = OFF;drop table sbtest1;

第三步:退出MySQL,删除.hdlk文件

rm -r sbtest1.ibd.hdlk

原理:

5e3e15316351efe7e0c528d3b43afeb1.png

执行完ln命令后,我们发现多了一个是吧sbtest1.ibd.hdlk文件,且sbtest1.ibd.hdlk和sbtest1.ibd的inode数均为2,因为我们知道,一个磁盘上的文件,可以有多个文件系统的文件引用,这个多个文件是完全相同的,都指向同一个磁盘上的文件,当我们删除任何一个文件的时候,都不会影像真实的文件,只是将其被引用数目减1,只有当被引用数目变为1的时候,再次删除文件,才会真正被删除。

删除时,这两种情况的却别很明显,一个是在减少被引用数目,一个是在真正做IO来删除它。这就将由MySQL来删除大文件的操作转换为一个简单的操作系统级的文件删除,从而减少了对MySQL的影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值