如何删除mysql中未被激活的客户端线程

手册/FAQ (423) 2016-04-01 09:06:01

写了一个脚本,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

THE END