Erro “max_allowed_packet” do MySQL - como você cria o perfil do tamanho máximo do pacote?

1

Continue correndo para a mensagem de erro "max_allowed_packet", que, segundo os dados que acabei de adivinhar, deveria ser o número ...

Gostaria de parar de adivinhar e saber como deve ser o número - e parece que as informações podem estar nas informações da tabela do banco de dados na coluna "Data_length".

Isso está correto, e se sim, como eu calculo o valor para entrar na configuração do MySQL para evitar o erro antes de obtê-lo.

(Se isso importa, eu continuo recebendo esses erros em restaurações de banco de dados.)

Perguntas, comentários, pedidos - apenas comente, obrigado !!

Informações adicionais: O banco de dados é INNOdb, não MyISAM.

UPDATE (1):

Em um esforço para encontrar uma maneira de comparar o "max_packet", fiz o seguinte, executei a restauração, recebi o erro com o número da linha causando o erro, despejei essa linha em um arquivo de texto para medir o tamanho do arquivo. / p>

ERRO:

ERROR 1153 (09S01) at line 2742: Got a packet bigger than "max_allowed_packet" bytes

Código SED:

sed 'INSERTLINENUMBERq;d' INSERTDATABASEDUMPFILENAME.sql > INSERTLINENUMBER.txt

O problema é ... essa linha é de apenas 8mb, "max_allowed_packet" é definido como 100mb.

    
por blunders 04.03.2011 / 16:25

1 resposta

1

Eu não tenho 100% de certeza sobre como criar um perfil de uma situação max_allowed_packet. Mas eu sei que consegui uma exportação de banco de dados de ~ 3 gig para importar em um tamanho max_allowed_packet de 100mb. O que eu costumo fazer é apenas configurá-lo arbitrariamente alto, importar os dados e depois voltar para 1M e reiniciar o mysqld.

    
por 04.03.2011 / 16:35