Article ID: 769, created on Jan 29, 2009, last review on Sep 23, 2015

  • Applies to:
  • Plesk for Linux/Unix

Síntomas

En ocasiones aparecen los siguientes errores en la interfaz de Plesk:

Unable to connect to database: Too many connections

SQLSTATE[08004] [1040] Too many connections

Causa

Este error indica que se ha alcanzado el número máximo de conexiones simultáneas al servidor MySQL. Mientras siga produciéndose dicha situación, no podrán realizarse nuevas conexiones al servidor.

Resolución

Existen dos formas de resolver esta incidencia. La primera consiste en aumentar el límite de conexiones. La segunda requiere determinar la causa que provoca el error de exceso de conexiones y utilizar dicha información para reducir el uso del servidor MySQL.

La utilidad mysqladmin permite comprobar el estado del servidor MySQL. Por ejemplo, si desea conocer el número de conexiones al servidor existentes en un momento dado, utilice:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` extended-status | grep Max_used_connections
| Max_used_connections | 11 |

Es posible conocer el límite de conexiones actual utilizando:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow ` variables | grep 'max.*connections'
| max_connections | 100 |
| max_user_connections | 0

En el ejemplo anterior, el número máximo de conexiones al servidor (max_connections) se ha establecido en 100. El número máximo de conexiones por usuario (max_user_connections) es cero, o lo que es lo mismo, ilimitado. Los valores predeterminados de MySQL pueden redefinirse en /etc/my.cnf (/etc/mysql/my.cnf en Debian/Ubuntu). Por ejemplo:

[mysqld]
set-variable=max_connections=150
set-variable=max_user_connections=20

Reiniciar MySQL después de haber modificado my.cnf:

/etc/init.d/mysqld restart

Importante: Si establece un valor de límite de conexión muy elevado (más de 300), el rendimiento del servidor podría verse alterado. Lo más recomendable es hallar y rectificar la incidencia que provoca un uso elevado del servidor MySQL. Es posible comprobar qué usuarios / peticiones ralentizan el servidor MySQL en todas las conexiones mediante el siguiente comando:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` processlist

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF