MySQL被慢sql hang住了,用sh…

某個初級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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章