日期:2014-05-16 浏览次数:20735 次
昨天有个需求,需要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过快影响到业务。
?