En esta entrada voy a explicar como obtener todas las queries de un usuario en concreto para proceder a matar las mismas. Esto puede ser útil en caso de tener, por ejemplo, un update grande en proceso y observar muchas queries de un usuario en concreto bloqueadas a la espera de que termine. Tenemos que estar muy seguros de que queremos matar estas queries, pues el comando sacará todas las queries de dicho usuario.

Pues bien, para ello entramos en MySQL y lanzamos el comando:

select concat('KILL ',id,';') from information_schema.processlist where user='USUARIO1';

Donde USUARIO1  es el usuario del que queremos matar todas sus queries.

Tras esto, el comando nos devolverá un texto como el siguiente:

| KILL 15216;            |
| KILL 15215;            |
| KILL 15212;            |
| KILL 15211;            |
| KILL 15210;            |
| KILL 15001;            |
| KILL 14929;            |
| KILL 14711;            |
| KILL 14680;            |
| KILL 14578;            |
| KILL 14575;            |
| KILL 14574;            |
| KILL 14571;            |
| KILL 14567;            |
+------------------------+

Basta con coger este texto, formatearlo si queremos con Notepad ++ para borrar los espacios y los pipes «|» y proceder a pegar todas estas queries en MySQL.

Tras esto, habremos borrado todas las queries de dicho usuario.

 


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *