Carlos Robles frikiblog

User already has more than ‘max_user_connections’ active connections

| 0 comments

No te puedes conectar al servidor de bases de datos, porque ya hay demasiadas conexiones activas.

Muy probablemente sean conexiones que han fallado, que se ejecutan eternamente por tablas o queries mal formadas, o porque eres eres victima de un ataque de denegacion de servicio (DDOS)

 

Para solucionarlo la solución es la misma que tenemos en el anterior post.

Seguramente  debas cerrar primero todas las conexiones que tengas abiertas con cualquier programa, y si hay alguna funcionando, tal vez aprovecharla para hacer un

SHOW PROCESSLIST

y despues hacer un

 KILL id/*la id del proceso que te ha devuelto SHOW PROCESSLIST*/

¿Y para prevenir?

Debes optimizar las queries y las tablas. Esto es algo muy facil de decir, pero puede suponer miles de cosas, depende la embergadura de tu sistema. En cualquier caso tienes que atender al menos a estos puntos:

  • Crea índices en las columnas por las que haces búsquedas.
  • Evita el uso de select *, pide solo las columnas que necesites.
  • y lo mas importante, aunque parezca una chorrada, asegurate que cierras, con mysql_close(), todas las conexiones que abres, aunque el php termine, la conexion no tiene por qué haberse cerrado, acostumbrate a cerrarlas siempre.
Facebook Twitter Linkedin Plusone Digg Delicious Reddit Email

Leave a Reply

Required fields are marked *.