mysql: Aborted connection to db



2011-04-15

Erros de Comunicação / Comunicação Abortada


A partir do MySQL 3.23.40 você só recebe o erro de Conexão abortada se você iniciar o mysqld com --warnings.
Se você encontar erros como o seguinte em seu log de erro.
010301 14:38:23 Aborted connection 854 to db: 'users' user: 'josh' 
Veja mais informações sobre isto na Seção 4.10.1, "O Log de Erros".
Isto significa que algum dos seguintes problemas ocorreu:
  • O programa cliente não chamou mysql_close() antes de sair.
  • O cliente tem esperado mais que wait_timeout ou interactive_timeout sem fazer nenhuma requisição. Veja mais informações sobre isto na Seção 4.6.8.4, "SHOW VARIABLES". Veja mais informações sobre isto na Seção 4.6.8.4, "SHOW VARIABLES".
  • O programa cliente finalizou abuptamente no meio de uma transferência.
Quando o descrito acima ocorrer, a variável Aborted_clients do servidor é incrementeda.
A variável Aborted_connects do servidor é incrementeda quando:
  • Quando um pacote de conexão não contém a informação correta.
  • Quando o utilizador não tiver privilégios para conectar ao banco de dados.
  • Quando o utilizador usar uma senha errada.
  • Quando levar mais de connect_timeout segundos para obter um pacote de conexão. Veja mais informações sobre isto na Seção 4.6.8.4, "SHOW VARIABLES".
Note que o descrito acima podia indicar que alguém está tentando derrubar o seu banco de dados.
Outras razões para problemas com Clientes abortados / Conexões abortadas.
  • O uso de protocolo Ethernet com Linux, tanto half quanto full duplex. Muitos drivers de Ethernet do Linux possui este bug. Você deve testá-lo transferindo um arquivo enorme via ftp entre estas duas máquinas. Se uma transferência entra no modo de estouro-pausa-esoturo-pausa... então você está experimentando uma síndorme de duplex no Linux A única solução é trocar o modo duplex, tanto da placa de rede quanto do Hub/Switch entre full duplex e half duplex e testar os resultados para decidir qual é a melhor configuração.
  • Alguns problemas com a biblioteca de threads interrompe uma leitura.
  • TCP/IP mal configurado.
  • Defeitos na rede, hub, switch, cabos, ... Isto pode ser diagnosticado de forma apropriada aomente através de reposição de hardware.
  • max_allowed_packet é muito pequeno ou a consulta exige memória livre que você alocou para mysqld. Veja mais informações sobre isto na Seção A.2.9, "Erro: Packet too large".
Postar um comentário