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