Matar un proceso en MySQL

Preet Sanghavi 28 marzo 2022
  1. Listar todos los procesos que se ejecutan en MySQL
  2. Matar el proceso usando el comando KILL
Matar un proceso en MySQL

En este tutorial, aprenderemos cómo eliminar un proceso en MySQL.

Muchas veces, los procesos específicos de MySQL pueden tardar demasiado en ejecutarse.

Puede causar problemas de rendimiento en el sistema. A medida que pasa el tiempo, diferentes subprocesos y declaraciones se acumulan en un sistema que dificulta el funcionamiento general del servidor.

Para resolver este problema y evitar un alto uso de recursos, podemos eliminar procesos específicos que ya no es necesario ejecutar.

Para eliminar un proceso en MySQL, debemos seguir dos pasos simples después de iniciar sesión en su cuenta de MySQL:

  • Listar todos los procesos que se ejecutan en MySQL.
  • Mata el proceso usando el comando KILL.

Listar todos los procesos que se ejecutan en MySQL

Antes de intentar eliminar o finalizar cualquier proceso en curso, primero debemos identificar el id del proceso. Una vez que tenemos el id del proceso, podemos matar o terminar un proceso.

Podemos obtener la lista de todos los procesos existentes en MySQL usando el comando show processlist. Tan pronto como ejecutemos este comando, obtendremos los procesos en curso para el usuario que inició sesión.

Una instantánea de los procesos en curso es la siguiente.

enumerar todos los procesos en mysql

Como podemos ver, cada proceso tiene un id de proceso, User que indica el nombre de usuario, Host que indica el servidor host, db que indica la base de datos.

Command indica el tipo de comando que se está considerando, Time indica el tiempo durante el cual se ejecuta la consulta, State indica el estado del proceso y Info indica cualquier información relevante relacionada con el proceso.

Matar el proceso usando el comando KILL

Una vez que obtengamos la id del proceso que se va a eliminar, podemos usar el comando kill <id> para finalizar el proceso.

Apuntemos a matar el proceso con el número id 14. Esta tarea se puede lograr con la siguiente consulta.

KILL 14;

Esto tendrá el proceso id como 14, eliminado.

Además, si deseamos terminar todos los procesos asociados a un usuario en particular, podemos realizar esta operación mediante la siguiente consulta.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='preet' INTO OUTFILE '/tmp/processes_text.txt';

En la consulta anterior, un nuevo archivo con los hilos y las declaraciones tiene el nombre de archivo como processes_text. Podemos revisar este archivo para verificar si queremos terminar todos los procesos mencionados.

Una vez que estemos seguros, podemos hacer uso de la siguiente consulta.

source /tmp/processes_text.txt

Por lo tanto, con la ayuda del comando KILL, se pueden terminar uno o varios procesos en una base de datos MySQL.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub