🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como corrigir Max connections reached no MySQL

Time Full Services Time Full Services
Tipo Banco de dados
Nome do erro Como corrigir Max connections reached no MySQL
Severidade Grave
Descrição "Too many connections" acontece quando o MySQL atinge o limite de conexões simultâneas (max_connections) e recusa novas. No WordPress, isso derruba o site em picos de tráfego ou quando queries lentas seguram as conexões abertas.

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.
Antes de começar: Aumente o max_connections de forma proporcional à memória do servidor: cada conexão consome RAM, e um valor alto demais pode fazer o MySQL ficar sem memória e ser encerrado, derrubando o banco inteiro.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
INI
; Ajustes no my.cnf (secao [mysqld]) - reinicie o MySQL apos editar
[mysqld]
max_connections = 200
wait_timeout = 120
interactive_timeout = 120

Perguntas frequentes

O que significa Too many connections no MySQL?
Significa que o MySQL atingiu o número máximo de conexões simultâneas permitido pelo max_connections e passou a recusar novas. O WordPress não consegue abrir a conexão e a página não carrega até uma vaga liberar.
Por que o erro só aparece em horário de pico?
Porque é nesse momento que muitas conexões são abertas ao mesmo tempo e o limite é atingido. Quando o tráfego baixa, as conexões liberam e o site volta sozinho, por isso a queda parece intermitente.
Basta aumentar o max_connections?
Nem sempre. Cada conexão consome memória, então um valor alto demais pode fazer o MySQL ficar sem RAM. Se o problema é query lenta segurando conexões, aumentar o limite só adia o estouro: é preciso otimizar e cachear também.
Como descubro o que está segurando as conexões?
Rode SHOW PROCESSLIST no phpMyAdmin para ver as conexões ativas. Muitas em estado Sleep apontam wait_timeout alto; queries longas apontam um plugin ou consulta a otimizar.
Estou em hospedagem compartilhada. Posso mudar o max_connections?
Em geral não diretamente, pois o limite é do servidor compartilhado. Abra um chamado com o suporte, mas a solução mais eficaz no seu lado é reduzir acessos ao banco com cache de página e de objeto.
O cache realmente ajuda nesse erro?
Sim. Com cache de página, visitantes recebem HTML pronto sem abrir conexão ao MySQL, e o cache de objeto evita reconsultar dados repetidos. Menos conexões abertas significa menos chance de bater no limite em pico.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes