ITPub博客

首页 > Linux操作系统 > Linux操作系统 > kill掉 mysql 大量锁表进程

kill掉 mysql 大量锁表进程

原创 Linux操作系统 作者:season0891 时间:2011-06-01 15:10:37 0 删除 编辑

mysql 大量锁表导致运行缓慢问题的一个解决办法是Kill掉锁表的进程,当然这会导致一些查询失败,比较无奈的一个办法吧:

 

写一个脚本如下:

#!/bin/bash
mysql_pwd="your password here"
mysql_exec="/usr/local/mysql/bin/mysql" #Change to your mysql directory
mysql_timeout_dir="/tmp"
mysql_kill_timeout_sh="$mysql_timeout_dir/mysql_kill_timeout.sh"
mysql_kill_timeout_log="$mysql_timeout_dir/mysql_kill_timeout.log"
$mysql_exec -uroot -p$mysql_pwd -e "show processlist" | grep -i "Locked" >> $mysql_kill_timeout_log
chmod 777 $mysql_kill_timeout_log
for line in `$mysql_kill_timeout_log  | awk '{print $1}'`
do
echo "$mysql_exec -uroot -p$mysql_pwd -e \"kill $line\"" >> $mysql_kill_timeout_sh
done
chmod 777 $mysql_kill_timeout_sh
 

写一个crontab 运行一下,定时清楚一下锁表的进程
./$mysql_kill_timeout_sh

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/90618/viewspace-696888/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-06-10

  • 博文量
    791
  • 访问量
    1949407