Detener un proceso en mysql

Si se genera una consulta muy compleja en mysql, puede consumir tantos recursos que bloquee a el resto de los procesos, para detectar y eliminar dicha consulta debemos entrar a mysql con:

mysql -u usuario_ferrum -pClave_ferrum

y estando en mysql escribimos:

SHOW FULL PROCESSLIST;

esto nos mostrara algo como esto:

+—–+———-+—————–+——–+———+——+——-+———————–+———-+
| Id  | User     | Host            | db     | Command | Time | State | Info                  | Progress |
+—–+———-+—————–+——–+———+——+——-+———————–+———-+
| 593 | ferrumop | localhost:33240 | DATOS1 | Sleep   |   11 |       | NULL                  |    0.000 |
| 595 | ferrumop | localhost:33252 | DATOS1 | Waiting for …   |   33 |       | NULL                  |    0.000 |
| 624 | ferrumop | localhost:36965 | DATOS1 | SELECT * FROM …   |   15 |       | Sorting                 |    0.000 |
| 625 | ferrumop | localhost       | NULL   | Query   |    0 | init  | SHOW FULL PROCESSLIST |    0.000 |
+—–+———-+—————–+——–+———+——+——-+———————–+———-+

Aqui nos muestra que hay algunas conexiones esperando (Waiting) y una que esta realizando el proceso, una vez que identificamos la tarea que esta causando el problema, en este caso la tarea 624, procedemos a cerrarla con:

Kill 624;

Es importante no matar tareas que esten executando funciones como UPDATE, INSERT, DELETE, ya que estas estan modificando la base de datos, y al terminarla la informacion quedaria incompleta.

Si la tarea es un SELECT (lee informacion) no hay problema con terminarla.

 

Desarrollado porBetterDocs

¿Aún no estás registrado?

Iniciar Sesión

Accede a tu cuenta de miembro

Registro de Usuario

Abrir chat