mysql出现大量的locked(处理脚本)

来源:互联网 发布:效能日程提醒软件 编辑:程序博客网 时间:2024/06/06 11:45
经常出现大量的Locked情况,可以使用以下脚本来定时kill掉这些进程。不过建议还是优化的sql语句和数据库,这样才能治本。
#!/bin/bashmysql_pwd="xxxxxx" #mysql的root密码mysql_exec="/usr/local/mysql/bin/mysql"tmp_dir="/tmp"file_sh="$tmp_dir/mysql_kill_locked.sh"file_tmp="$tmp_dir/mysql_kill_locked.tmp"file_log="$tmp_dir/mysql_kill_locked.log" #日志$mysql_exec -uroot -p$mysql_pwd -e "show processlist" | grep -i "Locked" > $file_tmpcat $file_tmp >> $file_logfor line in `cat $file_tmp | awk '{print $1}'`doecho "$mysql_exec -uroot -p$mysql_pwd -e \"kill $line\"" >> $file_shdonechmod +x $file_shsh $file_sh #执行临时脚本cat /dev/null > $file_sh #清空临时脚本