Error al establecer una conexión de base de datos; ¿Cómo puedo determinar si estas conexiones son reales o no?

Error al establecer una conexión de base de datos; ¿Cómo puedo determinar si estas conexiones son reales o no?

Acabo de encontrarme con un problema hoy cuando MySQL alcanza su capacidad de conexión a la base de datos.

El error que recibo es Error establishing a database connection. Cuando intento acceder /phpma, aparece este error: phpMyAdmin - Error #1040 - Too many connections.

Busqué cómo cambiar my.cnfpara aumentar la cantidad de conexiones, pero creo que ya hice esto hace un tiempo y no tuve problemas desde entonces. Por lo tanto, me preocupa un poco que estas conexiones sean algún tipo de vulnerabilidad.

Estoy ejecutando CentOS. ¿Existe alguna forma sencilla de comprobar estas conexiones? ¿Hay algo a lo que debería prestar atención, o tal vez simplemente una forma de seleccionar conexiones que han estado activas durante demasiado tiempo (¿MySQL funciona de esta manera?).

Respuesta1

Para ver qué subprocesos se están ejecutando en mysql, desde Linux:

root@myserver:~> mysqladmin processlist

La consulta MySQL equivalente a eso sería:

root@myserver:~> mysql
mysql> SHOW FULL PROCESSLIST\G

Además, echa un vistazoExaminar la información del hilopara ver qué significa la salida. Más destacado:

DominioyEstadoindicar lo que está haciendo el hilo.

La mayoría de los estados corresponden a operaciones muy rápidas. Si un hilo permanece en un estado determinado durante muchos segundos, es posible que haya un problema que deba investigarse.

El punto principal es mirar la lista de procesos de MySQL y ver si hay algo que le parezca sospechoso, dada la naturaleza de su entorno, por ejemplo, procesos de larga duración o un gran número de procesos.

Respuesta2

Utilice este comando y enumere las aplicaciones mysql en ejecución,

ps -aux | grep 'mysql'

luego, inicie el mysql requerido en su puerto predeterminado "3306"

información relacionada