English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo matar todos los procesos en la lista de procesos de MySQL?

Podemos finalizar los procesos con la ayuda del comando "kill". Sin embargo, debido a que MySQL no tiene comandos kill en gran cantidad, necesita matar estos procesos uno por uno.

Para verificar cuántos procesos existen, utilice "mostrar lista de procesos"

mysql> show processlist;

A continuación se muestra el resultado.

+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
| Id | Usuario |
+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
|  4 | event_scheduler | localhost | NULL | Daemon | 7986 | En espera de cola vacía | NULL |
|  8 | root | localhost:65180 | test | Query | 0 | starting | show processlist |
+----+-----------------+-----------------+------+---------+------+------------------------+------------------+
2 filas en conjunto (0.00 seg)

para matar un proceso activo10segundos en ejecución, por favor ejecute la siguiente consulta. Aquí estamos matando el ID de " 4proceso

mysql> select concat('kill ',4,';')
   -> from information_schema.processlist
   -> where TIME > 10;

Este es el resultado.

+-----------------------+una vez;
| concat('kill ',4,';') |
+-----------------------+
| kill 4;               |
+-----------------------+
1 fila en conjunto (0.00 seg)

Como alternativa, aún puede intentar ejecutar la siguiente consulta MySQL para matar todos los procesos.

mysql -e "show full processlist;" -ss | awk '{print "KILL "$1";" | mysql
Tutoriales de Elasticsearch