mysql的批量删除死锁进程脚本

版权声明:本文为博主原创文章,未经博主允许不得转载,转载附上原文链接即可。 https://blog.csdn.net/GX_1_11_real/article/details/88700161

前言


下面分享的是当mysql慢查询或死锁时,临时解决问题的用于批量删除Sleep进程或死锁进程的脚本,可根据需求更改变量。



cat kill_slow.sh

#!/bin/bash

source /root/.bash_profile

>kill_slow.sql

DBUSER=root
DBPASSWORD=@#$DSfw146y5s
SOCKET=$(grep socket /etc/my.cnf | awk -F= '{print $2}' | sed 's/ //g' | uniq)

#sleep进程
sl=Sleep 
#慢查询进程
#qu=Query
#死锁进程    
#lock=Locked
    
mysql -u$DBUSER  -p$DBPASSWORD  -S$SOCKET   -e "show processlist"  | grep -i $sl > slow_process.log

for i in `cat slow_process.log | awk '{print $1}'`
do
   echo "kill $i;" > kill_slow.sql
done

#不建议直接使用下列命令,请确认kill_slow.sql中筛选出的进程后,再执行 
# mysql -u$DBUSER  -p$DBPASSWORD  -S$SOCKET -e "source kill_slow.sql"

#或确认后进入mysql中执行:source kill_slow.sql

猜你喜欢

转载自blog.csdn.net/GX_1_11_real/article/details/88700161