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'
See "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_timeoutouinteractive_timeoutsem fazer nenhuma requisição. Leia "SHOW VARIABLES". Leia "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 usuário não tiver privilégios para conectar ao banco de dados.
- Quando o usuário usar uma senha errada.
- Quando levar mais de
connect_timeoutsegundos para obter um pacote de conexão. Leia "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 paramysqld. Leia Seção A.2.9, "Erro:Packet too large".