Quando um cliente MySQL ou o servidor mysqld
        recebe um pacote maior que max_allowed_packet
        bytes, ele envia o erro Packet too large e
        fecha a conexão.
      
No MySQL 3.23 o maior pacote possível é 16M (devido a limites do protocolo cliente/servidor). No MySQL 4.0.1 e acima el só é limitado pela quantidade de memória que você tem no seu servidor (até um máximo teórico de 2GB).
Um pacote de conexão é uma única instrução SQL enviada ao servidor MySQL ou um única linha enviada para o cliente.
        Quando um cliente MySQL ou o servidor mysqld
        obtem um pacote maior que max_allowed_packet
        bytes, ele envia o erro Packet too large e
        fecha a conexão. Com alguns clientes você também pode obter o
        erro Lost connection to MySQL server during
        query se o pacote de comunicação for muito grande.
      
        Note que tanto o cliente quanto o servidor tem a sua própria
        variável max_allowed_packet. Se você quiser
        tratar os pacotes grandes, você tem que aumentar esta variável
        tanto no cliente quanto no servidor.
      
É seguro aumentar esta variável já que a memória só é alocada quando necessário; esta variável é mais uma precaução para pegar pacotes errados entre o cliente/servidor e também para assegurar que você use pacotes grandes acidentalemente e assim fique sem memória.
        Se você estiver usando o cliente mysql,
        você pode especificar um buffer maior iniciando o cliente com
        mysql --set-variable=max_allowed_packet=8M.
        Outros clientes tem métodos diferentes de configurar esta
        variável. Por favor, note que --set-variable
        está obsoleta desde o MySQL 4.0, em seu lugar utilize
        --max-allowed-packet=8M.
      
        Você pode utilizar o arquivo de opção para definir
        max_allowed_packet com um tamanho maior no
        mysqld. Por exemplo, se você está esperando
        armazenar o tamanho total de um MEDIUMBLOB em
        uma tabela, você precisará iniciar o servidor com a opção
        set-variable=max_allowed_packet=16M.
      
        Você também pode obter problemas estranhos com pacotes grandes
        se você estiver usando blobs grandes, mas você não deu para
        mysqld accesso a memória suficiente para
        tratar a consulta. Se você suspeita que este é o caso, tente
        adicionar ulimit -d 256000 no inicio do
        script mysqld_safe e reinicie o
        mysqld.
      
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.

