Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  shell  >  正文 清除不断增长的mysql慢查询sql的shell脚本

清除不断增长的mysql慢查询sql的shell脚本

发布时间:2014-11-29   编辑:www.jquerycn.cn
本文分享一个shell脚本,用于清除mysql中不断增长的慢查询sql语句,有需要的朋友参考下。

我们的初级dba误删index,mysql中全是10S以上的慢sql,mysql服务被hang住了,而且慢sql不断在增加中,手动在mysql界面kill的话,是不现实的。
于是有了以下的shell脚本,用来清除不断增长的mysql慢查询sql语句。

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

清除完以后,建议抓紧为表加上合适的索引。

您可能感兴趣的文章:
清除不断增长的mysql慢查询sql的shell脚本
mysql慢查询开启与配置
有关 mysql 慢查询日志
mysql优化之如何定位效率较低的SQL
mysqldump使用binlog二进制日志进行备份的例子
MySQL 根据 status 状态优化
mysql开启慢查询实例演练(图文)
mysql备份与同步脚本
如何开启mysql和php慢日志
mysql中开启慢sql查询(mysql慢查询日志)的方法

[关闭]