mysql kill 指定用户的连接

昨天有个需求,需要kill掉aa用户建立的连接。第一个感觉是用老土的mysqladmin+grep完成:

 

for id in `mysqladmin -uroot processlist | grep "aa" | awk '{print $2}' `
do
echo $id
mysqladmin -uroot kill $id
sleep 1
done
 

这样很容易kill掉原本不需要kill的连接,比如某个库名叫aa。可以改用下面的方式:

mysql -uroot -e "select concat('kill ',id,';select sleep(1);') from information_schema.processli
st where user in ('aa') into outfile '/tmp/killaa.txt'"
mysql -uroot -e "source /tmp/killaa.txt"

 这样就不会误操作了。

ps:这里的sleep 1是苏普同学提醒的,防止kill过快影响到业务。

猜你喜欢

转载自guduwhuzhe.iteye.com/blog/1673002