Jul
20
2011

Resolvendo e contornando o erro “Too many connections” no MySQL




O erro “Too many connections” no MySQL significa que o máximo de conexões permitidas ao seu banco de dados MySQL foi atingida. Esse máximo de conexões é configurado na variável max_connections e por padrão é 100.

Você pode contornar esse problema editando as configurações do seu MySQL no arquivo my.cnf.

Procure pela linha:

1
set-variable = max_connections=100 // max connection

E altere conforme desejado.

Uma outra configuração para evitar passar pelo erro “Too many connections” no MySQL é configurar a variável max_user_connections (máximo de conexões por usuário por hora) e setar um tempo da configuração wait_timeout para a conexão do usuário ser fechada.

1
2
set-variable = max_user_connections=100 // max user connection per hour
wait_timeout = 60 // wait timeout for connection in seconds

No exemplo acima cada usuário só pode realizar um máximo de 100 conexões por hora e o timeout das conexões é de 1 minuto.

Autor: Sandro J. S. Souza

Sobre o autor: Sandro J. S. Souza

Desenvolvedor Web, bacharel em Administração, coordenador do PHP MG. Site pessoal: http://www.sandro.eti.br | Me siga no Twitter: http://twitter.com/xkurts

1 comentário + Enviar comentário

  • Meu Deus! Isso que dá não saber de onde vem as coisas. Seus sites são bem legais, mas esse artigo é um absurdo às boas práticas de codificação. Conexões (sejam elas tcp, em banco de dados, em arquivos etc) devem ser reutilizadas ou seja: NUNCA abra inúmeras conexões em um banco de dados simultaneamente. Utilize um pool de conexões fixo e as gerencie por threads (essas sim podendo ser inúmeras) em filas (queues). Se existe um número de 100 conexões simultaneas permitidas é porque existe um motivo claro para isso. Esse número já é muito grande.

    Um abraço!

Enviar um comentário