批量kill mysql processlist进程

如果大批量的操作能够通过一系列的select语句产生,那么理论上就能对这些结果批量处理。
但是mysql并没用提供eval这样的对结果集进行分析操作的功能。所以只能现将select结果保存到临时文件中,然后再执行临时文件中的指令。
具体过程如下:

mysql> SELECT concat(‘KILL ‘,id,‘;‘) FROM information_schema.processlist WHERE user=‘root‘;
+------------------------+
| concat(‘KILL ‘,id,‘;‘) 
+------------------------+
| KILL 3101;             
| KILL 2946;             
+------------------------+
2 rows IN SET (0.00 sec)

mysql> SELECT concat(‘KILL ‘,id,‘;‘) FROM information_schema.processlist WHERE user=‘root‘ INTO OUTFILE ‘/tmp/a.txt‘;
Query OK, 2 rows affected (0.00 sec)

mysql> source /tmp/a.txt;
Query OK, 0 rows affected (0.00 sec)

时间: 2024-11-16 20:53:45

批量kill mysql processlist进程的相关文章

批量 kill mysql 中运行时间长的sql

转自:思齐-批量 kill mysql 中运行时间长的sql 以下内容来自mysql手册: 13.5.5.3. KILL语法KILL [CONNECTION | QUERY] thread_id每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程. KILL允许自选的CONNECTION或QUERY修改符: · KILL CONNECTION与不含修改符的KILL一样:它会终止与给

shell命令批量杀死MySQL连接进程

(1)将所有的MySQL连接进程杀掉 for i in `mysql -uroot -pzhangyun -Bse "show processlist" | grep -v "show processlist" | awk '{print $1}'` do mysql -uroot -pzhangyun -e "kill $i" done 注:这里将自身命令的show processlist进程过滤掉 (2)删除指定用户的连接进程 for i i

批量kill相关所有进程

首先,用ps查看进程,方法如下: $ ps -ef …… smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helper smx       1824  1822  0 11:38 pts/0    00:00:02 bash smx       1827     1  4 11:38 ?        0

Linux下批量Kill多个进程的方法

ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入.下面说说用管道符联接起来的 几个命令: "ps - ef"是Red Hat 里查看所有进程的命令.这时检索出的进程将作为下一条命令"grep LOCAL=NO"的输入. "grep LOCAL=NO"的输出结果是,所有含有关键字&q

Linux下批量Kill多个进程

ps -ef|grep php|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入.下面说说用管道符联接起来的 几个命令:"ps - ef"是linux 里查看所有进程的命令.这时检索出的进程将作为下一条命令"grep mcfcm_st"的输入."grep mcfcm_st"的输出结果是,所有含有关键字"mcfcm

批量清理mysql进程

批量kill掉无用的sql语句,避免影响拖垮数据库. MariaDB [(none)]> show processlist; +--------+------+-----------------+----------+---------+------+-------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +--------+------

批量kill进程

最近做项目,要一下子开启50个进程,一个个去kill效率很低,利用下面这条指令就很快了: 1 ps -ef|grep Timer|grep -v grep|cut -c 9-15|xargs kill -9 ps -ef|grep name,选取所有带name的进程 grep -v grep,去除结果中带grep的进程 cut -c 9-15,取第9~15个字符,也就是pid xargs kill -9,xargs把前面的输入当做kill -9之后的参数 我们可以做一个实验: 启动11个进程:

Linux批量kill进程

使用awk批量杀进程的命令: ps -ef | grep firefox | grep -v grep | awk '{print "kill -9 "$2}'|sh 说明: #列出了当前主机中运行的进程中包含firefox关键字的进程 ps -ef | grep firefox | grep -v grep #列出了要kill掉这些进程的命令,并将之打印在了屏幕上 ps -ef | grep firefox | grep -v grep | awk '{print "kil

批量杀死mysql连接

mysqladmin杀死所有/指定mysql连接 1.批量杀死所有mysql连接 mysqladmin -uroot -pxxx processlist |awk -F '|' '{print $2}' |xargs -n 1 mysqldamin -uroot -pxxx kill 2.批量杀死指定mysql连接 mysqladmin -uroot -pxxx processlist |awk -F '|' '{if ($3 == "Mike") print $2}' |xargs