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.
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.