在线删除大表会占用系统io能力,进而导致mysql进程阻塞和主从延时,解决方案如下:做硬链接
ln wx_edu_answerredo.ibd wx_edu_answerredo.ibd.bak
数据库中删除表
drop table wx_edu_answerredo
truncate循环删除磁盘文件,通过sleep控制io负载
脚本内容:
#!/bin/bash
#####################################################################
#@@@ Author : bluewhalew(playful_bluewhale@hotmail.com)
#@@@ Name : Rmbigtab.sh
#@@@ Describe : remove big table online
#@@@ Created in : 20150421
#@@@ Modified in : 20150421
#####################################################################
TRUNCATE=/usr/bin/truncate
for i in `seq 97340 -100 10 `;
do
sleep 1
echo "$TRUNCATE -s ${i}M /data/mysql_ss/data/susuan/wx_edu_answerredo.ibd.bak"
$TRUNCATE -s ${i}M /data/mysql_ss/data/susuan/wx_edu_answerredo.ibd.bak
done
文章转载自戏水蓝鲸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




