Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the breadcrumb-navxt domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/devtools/public_html/blog/wp-includes/functions.php on line 6131

Deprecated: A função WP_Dependencies->add_data() foi chamada com um argumento que está obsoleto desde a versão 6.9.0! Os comentários condicionais do IE são ignorados por todos os navegadores compatíveis. in /home/devtools/public_html/blog/wp-includes/functions.php on line 6131
Error No. 1040 - Too many connections no MySQL

Error No. 1040 – Too many connections no MySQL

Hoje ao tentar acessar um servidor de banco de dados, recebi a seguinte mensagem de erro:

Erro: Too many connections

Mas do que se trata este erro? Vejamos o que nos diz a documentação do MySQL:

A.2.6. Erro: Too many connections
Se você obter o erro Too many connections quando vacê tentar se conectar ao MySQL, isto significa que já existe max_connections clientes conectados ao servidor mysqld.

Se você precisar de mais conexões do que o padrão (100), então você deve reiniciar o mysqld com um valor maior para a variável max_connections.

Note que atualmente o mysqld permite que (max_connections+1) clientes se conectem. A última conexão é reservada para um usuário com o privilégio SUPER. Ao não dar este privilégio a usuários normais (eles não precisam dele), um administrador com este privilégio pode logar e utilizar SHOW PROCESSLIST para descobrir o que pode estar errado. See Secção 4.6.8.6, “SHOW PROCESSLIST”.

O número máximo de conexões MySQL depende de quão boa é a biblioteca de threads na dada plataforma. Linux ou Solaris devem estar aptos a suportar 500-1000 conexões simultâneas, dependendo de quanta RAM você tem e do que o cliente está fazendo.”

Por padrão o max_connections do arquivo my.cnf é 100, mas pode ser alterado:

 set-variable = max_connections=100  

Quando falamos em conexão, estamos falando em um comando que é enviado ao banco de dados e que após ser realizado a conexão aberta deve ser fechada, este controle de conexões é feito pelo pool de conexões da aplicação (Ex: Spring).

O padrão adotado pelo banco de dados (100) já suporta sistemas de grande porte, pois é muito difícil que tenhamos mais de 100 usuários realizando alguma operação no mesmo momento, mas, mesmo que seja no mesmo momento (Algo meio improvável) alguma conexão irá se abrir primeiro, e após se fechar a próxima chamada será realizada.

Para se aprofundar mais no assunto, pesquise também por max_user_connections, wait_timeout e max_connect_errors.

Espero mais uma vez ter sudo útil, abraços.

Material de referência/fonte:
http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html
http://www.devdb.com.br/banco-de-dados/mysql/resolvendo-e-contornando-o-erro-too-many-connections-no-mysql

Deixe um comentário