Como corrigir Max connections reached no MySQL
O que é o erro Max Connections no MySQL do WordPress?
O MySQL aceita um número fixo de conexões abertas ao mesmo tempo, definido pelo parâmetro max_connections. Quando esse teto é atingido, qualquer nova requisição recebe o erro “Too many connections” e o WordPress não consegue abrir a conexão para carregar a página. Costuma aparecer em horário de pico, em sites com queries lentas que prendem conexões, ou quando o limite do servidor está baixo demais para a demanda.
Como identificar
- Mensagem “Too many connections” no log do MySQL ou na tela durante picos de acesso.
- O site cai intermitentemente em horário de pico e volta sozinho quando o tráfego baixa.
- Junto aparece o erro de conexão com o banco, já que novas conexões são recusadas.
- A lista de processos do MySQL mostra muitas conexões em estado Sleep ou em queries longas.
Como prevenir
- Use cache de página e de objeto para cortar o número de acessos ao banco em picos
- Monitore queries lentas com o Query Monitor e otimize as que seguram conexões abertas
- Dimensione o max_connections e a RAM do plano de acordo com o pico real de tráfego
Erros relacionados
Causa
Parâmetro max_connections do MySQL definido baixo demais para o tráfego do site Queries lentas ou travadas segurando conexões abertas por muito tempo, esgotando o pool Pico de tráfego real ou bots agressivos abrindo conexões mais rápido do que o servidor as fecha Conexões persistentes mal configuradas no PHP que não são liberadas após o uso wait_timeout muito alto deixando conexões ociosas ocupando vagas no limite por tempo demais
Como resolver
- Confirme o limite atual: no phpMyAdmin (aba SQL), veja o valor de max_connections e quantas conexões estão em uso para saber o quanto folga falta.
- Veja quem está segurando as conexões: rode SHOW PROCESSLIST para identificar queries longas ou muitas conexões Sleep. Conexões presas indicam um plugin ou consulta a otimizar, não só limite baixo.
- Aumente o max_connections: no my.cnf (seção [mysqld]), eleve o max_connections de forma proporcional à RAM do servidor e reinicie o MySQL. Em hospedagem compartilhada, peça o ajuste ao suporte.
- Reduza o wait_timeout: diminua o wait_timeout para que conexões ociosas sejam liberadas mais rápido e não fiquem ocupando vagas no limite.
- Adote cache para cortar acessos ao banco: ative cache de página e de objeto (Redis) para que requisições repetidas não abram novas conexões ao MySQL, reduzindo a pressão no limite.
; Ajustes no my.cnf (secao [mysqld]) - reinicie o MySQL apos editar
[mysqld]
max_connections = 200
wait_timeout = 120
interactive_timeout = 120














