MySQL Erro “Too many connections” como resolver

Quando um cliente tenta fazer login no MySQL, às vezes ele pode ser rejeitado e receber uma mensagem de erro dizendo que há "muitas conexões". Isso significa que o número máximo de clientes que podem estar conectados ao servidor foi atingido. O cliente precisará aguardar o logoff de outro cliente ou o administrador precisará aumentar o número máximo de conexões permitidas.

Informações sobre conexões com um servidor podem ser encontradas usando a instrução SHOW STATUS:

$ mysql –u root –p
SHOW STATUS LIKE 'max_used_connections';

Primeiro, você deve garantir que seus aplicativos estejam fechando as conexões com o servidor quando não forem mais necessários. No entanto, você pode resolver esse erro aumentando o valor da variável max_connections e possivelmente diminuindo o valor de wait_timeout se você espera que muitas das conexões com o servidor não estejam sendo usadas ativamente.

Solução

O número máximo de encadeamentos de conexões permitidos para o servidor está contido na variável de sistema max_connections. O valor padrão é 151. Para ver o valor para o qual esta variável está configurada, execute o seguinte comando SQL:

$ mysql –u root –p
mysql> SHOW VARIABLES LIKE 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+

Alterando o parâmetro max_connections (Temporariamente)

Para alterar o valor da variável de sistema max_connections, a opção –max_connections pode ser usada. Para alterar temporariamente essa variável enquanto o servidor estiver em execução, digite a seguinte instrução SQL:

$ mysql –u root –p
mysql> SET GLOBAL max_connections = 512;

Alterando o parâmetro max_connections (Permanentemente)

Um método melhor para alterar o parâmetro max_connections seria adicionar essa opção ao arquivo de opções (my.cnf ou my.ini, dependendo do seu sistema) para que entre em vigor na próxima vez em que o servidor for reiniciado. Supondo que você esteja usando o arquivo /etc/my.cnf, adicione a linha abaixo a ele.

# vi /etc/my.cnf
max_connections = 512

Agora reinicie o daemon mysqld para que as alterações entrem em vigor.

 

Para o CentOS / RHEL 6:

 

# service mysqld restart

Para o CentOS / RHEL 7:

 

# systemctl restart mysqld

1

 

 

 

 

 

  • Too many connections, MySQL
  • 3 Usuários acharam útil
Esta resposta lhe foi útil?

Related Articles

Select em duas tabelas ao mesmo tempo

Tenho as tabelas autor e frase: autor: autor_id | autor_nome 1 | joão 2 | pedro...

Como importar e exportar um banco MySQL via SSH

Confira neste artigo os comandos que você pode utilizar para importar e exportar um banco de...

Como alterar senha ROOT MySQL/Percona quando você NÃO sabe a senha ou esqueceu a senha de ROOT

Pare o servidor MySQL # /etc/init.d/mysql stop ou # /etc/init.d/mysqld stop Inicie o servidor...

Como alterar senha root MySQL /Percona quando você sabe a senha do ROOT

Efetue o login ao MySQL com acesso ROOT mesmo sem senha # mysql -u root mysql -p SUASENHA...

Como criar um Novo Usuário e Conceder Permissões no MySQL

O que representa o Vermelho As linhas que o usuário precisa digitar ou customizar estarão em...