Esta seção também cobre o erro relacionado sobre
        perda de conexão com o servidor durante uma
        consulta.
      
        A razão mais comum para o erro MySQL server has gone
        away é que o servidor esgotou o tempo limite e fechou
        a conexão. Por padrão, o servidor fecha uma conexão depois de
        8 horas se nada aconctecer. Você pode alterar o tempo limite
        configurando a variável wait_timeout quando
        você iniciar o mysqld.
      
        Outra razão comum para receber o erro MySQL server has
        gone away é porque você executou um ``fechar'' em
        sua conexão MySQL a então tentou executar uma consulta na
        conexão fechada.
      
Se você tiver um script, você só tem que executar a consulta novamente para o cliente reconectar autometicamente.
Você normalmente pode obter os seguintes códigos de erros neste caso (qual você obterá dependerá do SO):
| Código de erro | Descrição | 
| CR_SERVER_GONE_ERROR | O cliente não pode enviar um pedido ao servidor. | 
| CR_SERVER_LOST | O cliente não obteve um erro ao escrever no servidor, mas não obteve uma resposta completa (ou nenhuma resposta) a seu pedido. | 
        Você também irá obter este erro se alguém tiver matado a
        thread em execução com kill #threadid#.
      
        Você pode verificar que o MySQL não morreu executando
        mysqladmin version e examinando o tempo em
        execução. Se o problema é que o mysqld falhou você deve
        descobrir a razão da falha. Você deve neste caso iniciar
        verificando se executar a consulta novamente irá finalizar o
        MySQL novamente. See Secção A.4.1, “O Que Fazer Se o MySQL Continua Falhando”.
      
        Você também pode obter estes erros se você enviar uma
        consulta incorreta ou muito grande ao servidor. Se
        mysqld recebe um pacote muito grande ou fora
        de ordem. ele assume que alguma coisa saiu errado com o cliente
        e fecha a conexão. Se você precisa de grandes consultas (por
        exemplo, se você está trabalhando com grandes colunas
        BLOB), você pode aumentar o limite da
        consulta iniciando o mysqld com a opção
        -O max_allowed_packet=# (padrão 1M). A
        memória extra é alocada sobre demanda, assim o
        mysqld alocará mais memória apenas quando
        você executar uma grande consulta ou quando o
        mysqld deve retornar um grande registro de
        resultado!
      
Você também obterá uma conexão perdida se você estiver enviando um pacote >= 16M e se seu cliente for mais antigo que a versão 4.0.8 e a versão do seu servidor é 4.0.8 e acima ou vice versa.
Se você quiser fazer um relatório de erros descreendo este prolema, esteja certo de ter incluído as seguintes informações:
            Informe se o MySQL morreu ou não. (Você pode encontrar
            into no arquivo hostname.err). See
            Secção A.4.1, “O Que Fazer Se o MySQL Continua Falhando”.
          
            Se uma cosulta específica matar o mysqld
            e as tabelas envolvidas foram verificadas com CHECK
            TABLE antes que você fizesse a consulta, você
            pode fazer um caso de teste para isto? See
            Secção E.1.6, “Fazendo um Caso de Teste Se Ocorre um Corrompimento de Tabela”.
          
            Qual é o valor da variável wait_timeout
            no servidor MySQL? mysqladmin variables
            lhe dá o valor destas variáveis.
          
            Você tentou executar mysqld com
            --log e verificou se a consulta executada
            apareceu no log?
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

