Diagnosticando falha MySQL esporádica

1

Eu tenho alguns aplicativos em C ++ que acessam nosso banco de dados MySQL via unixODBC no Ubuntu 10.04.

Uma vez a cada algumas semanas nas últimas semanas, este erro aparece em nossos registros de erros:

[unixODBC][MySQL][ODBC 3.51 Driver]Lost connection to MySQL server at 'reading initial communication packet', system error: 9

Ele se origina da biblioteca ODBC que uso em meu código C ++ e aparentemente vem do driver ODBC.

Caso contrário, o sistema funciona bem, processando milhares de consultas por dia. Alguém pode esclarecer o que isso pode indicar, como diagnosticar, o que verificar em seguida?

Alguém sabe de onde exatamente esse código de erro se origina e como posso procurar o que "9" significa?

Edit: Eu também vou adicionar este é um servidor local, ou seja, o servidor MySQL está sendo executado na mesma máquina que o código C ++.

    
por Scott 08.10.2013 / 23:37

2 respostas

0

Significa "número de arquivo inválido": link

Basicamente, o soquete era inválido quando o driver tentava se comunicar com ele. Normalmente, isso é um problema de rede, mas eu só vi casos em que isso acontecia toda vez, em vez de muito esporadicamente.

Se você conseguir reproduzir isso de alguma forma, lançaria alguma luz sobre a causa, mas, como seu aplicativo está funcionando, seria difícil rastreá-lo.

    
por 08.10.2013 / 23:46
0
  1. Seu ambiente está atualizado? Você pode replicá-lo e confirmar o erro?

  2. Você pode criar um ambiente Ubuntu 12.04 e reproduzir o erro?

Se a resposta a ambos for "sim", considere arquivar um bug no Launchpad ou diretamente com o projeto UnixODBC.

    
por 09.10.2013 / 01:12