某个初级dba误删index,mysql漫山遍野全是10S以上的慢sql,mysql服务被hang住了,而且慢sql不断在增加中,如果手动在mysql界面kill的话,根本来不及,这个时候,shell就必须要出手了,如下的shell脚本,大家可以参考:
#It is used to kill processlist of mysql sleep#!/bin/shwhile :
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
最后,赶紧添加上合适的索引!
本文介绍了一位初级DBA误删索引导致MySQL服务出现大量慢SQL的情况,通过使用shell脚本自动kill sleep状态的进程来缓解问题,并强调了及时补充合适索引的重要性。
4247

被折叠的 条评论
为什么被折叠?



