某個初級dba誤刪index,mysql漫山遍野全是10S以上的慢sql,mysql服務被hang住了,而且慢sql不斷在增加中,如果手動在mysql界面kill的話,根本來不及,這個時候,shell就必須要出手了,如下的shell腳本,大家可以參考:
#It is used to kill processlist of mysql sleep
#!/bin/sh
while :
do n=`mysqladmin processlist -uadmin -pxxxxx|grep -i sleep |wc -l`
date=`date +%Y%m%d\[%H:%M:%S]`
echo $n
if [ "$n" -gt 10 ]
then
for i in `mysqladmin processlist -uadmin -pxxxxxx|grep -i sleep |awk '{print $2}'`
do mysqladmin -uadmin -pxxxxxx kill $i
done
echo "sleep is too many I killed it " >> /tmp/sleep.log
echo "$date : $n" >> /tmp/sleep.log
fi
sleep 1
done
最後,趕緊添加上合適的索引!
轉自:http://blog.itpub.net/26230597/viewspace-756191/