日期:2014-05-16  浏览次数:20681 次

Kill掉MySQL中所有sleep的client线程

写了一个脚本,run这个脚本,就可以kill掉MySQL中所有sleep的client线程
vim killsleep.sh

#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 -pxxxx kill $i
  done
  echo "sleep is too many I killed it " >> /tmp/sleep.log
  echo "$date : $n" >> /tmp/sleep.log
  fi               
  sleep 1
done