利用Shell一次清除Mysql所有的Sleep用户连接
把下面的shell保存为killmysqlsleep.sh, 然后执行./killmysqlsleep.sh 192.168.1.5 3306 root (IP 为mysql server IP,用户为你需要清除的sleep链接用户,3306为端口)。需要把MYSQLPASS改为你的mysql root 的password。
#It is used to kill processlist of mysql sleep
#!/bin/sh
MYSQLDIR=/usr/bin
MYSQLTOOL=$MYSQLDIR/mysql
MYSQLUSER=root
MYSQLPASS="password"
usage()
{
echo "Usage: $0 ip port db_user"
echo "Example: $0 1.1.1.1 3306 db_user"
exit
}
if [ $# -ne 3 ];then
usage
fi
hostip=$1
port=$2
user=$3
sleepid="SELECT ID FROM information_schema.PROCESSLIST t WHERE t.COMMAND='Sleep' and user='$3' and>
echo $sleepid
$MYSQLTOOL -h$hostip -u$MYSQLUSER -p$MYSQLPASS -P$port -e "$sleepid" >sleepIDs
while read sID
do
echo $sID
$MYSQLTOOL -h$hostip -u$MYSQLUSER -p$MYSQLPASS -P$port -e "kill $sID"
done<sleepIDs
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!