Consultas para ver rápidamente lo que tu MySQL está haciendo AHORA

Cuando se diagnostica una instancia de MySQL lenta o que no responde, el primer paso es siempre el mismo: averiguar qué está ocurriendo en este momento. Estas consultas de diagnóstico rápido utilizan los comandos integrados de MySQL SHOW STATUS y SHOW PROCESSLIST para mostrar la información más útil en segundos — sin necesidad de herramientas externas.

1. Procesos Activos y Consultas en Ejecución

SHOW PROCESSLIST lista todas las conexiones actuales y su estado. Por defecto, trunca los textos de consultas largas — utiliza el modificador FULL para ver las sentencias completas. El modificador G formatea cada fila verticalmente, lo que resulta mucho más legible para salidas largas en un terminal.

-- Standard output (query text truncated at 100 chars)
SHOW PROCESSLIST;

-- Full query text, vertical output (easier to read in terminal)
SHOW FULL PROCESSLISTG

2. Tiempo de Actividad de la Instancia

MySQL almacena metadatos operacionales en variables de estado consultables con SHOW STATUS. El tiempo de actividad se expresa en segundos.

SHOW STATUS LIKE '%uptime%';
-- Example output:
-- +---------------------------+--------+
-- | Variable_name             | Value  |
-- +---------------------------+--------+
-- | Uptime                    | 880329 |  -- ~10 days
-- | Uptime_since_flush_status | 8347   |
-- +---------------------------+--------+

3. Estadísticas de Conexiones

Esta vista muestra el número actual de hilos activos, el total histórico de conexiones y cualquier conexión abortada — útil para detectar el agotamiento del pool de conexiones o problemas de autenticación.

SHOW STATUS LIKE '%conn%';

Variables clave a vigilar: Threads_connected (conexiones activas actuales), Max_used_connections (pico desde el último reinicio), Aborted_connects (intentos de conexión fallidos — los valores distintos de cero pueden indicar problemas de autenticación o de red).

4. Estado de la Caché de Consultas

La caché de consultas de MySQL (disponible hasta MySQL 5.7; eliminada en MySQL 8.0) almacena el resultado de las consultas SELECT en memoria para evitar lecturas repetidas en disco para consultas idénticas. En primer lugar, verifique si está habilitada:

SHOW VARIABLES LIKE '%query_cache%';

Si query_cache_type es ON, compruebe la efectividad de la caché con:

SHOW STATUS LIKE 'QCache%';

Métricas clave: Qcache_hits vs Qcache_inserts (tasa de aciertos), Qcache_lowmem_prunes (expulsiones de caché por memoria insuficiente — un valor alto indica que la caché es demasiado pequeña), Qcache_not_cached (consultas que omiten la caché).