Mysql - Obteve um pacote maior que 'max_allowed_packet' bytes) ao importar

1

Estou tentando descobrir por que o despejo do meu banco de dados não será importado no meu novo servidor. Estou usando:

mysql --max_allowed_packet=512M -uDB_USERNAME -pPASS DB_NAME < /root/backup.sql

Depois de um tempo em execução, entro em /var/log/mysql/error.log :

2017-09-19T15:00:06.077222Z 130 [Note] Aborted connection 130 to db: 'DB_NAME' user: 'DB_USER' host: 'localhost' (Got a packet bigger than 'max_allowed_packet' bytes)

e a chamada CLI "mysql" volta com:

ERROR 2006 (HY000) at line 5995: MySQL server has gone away

Aqui estão algumas das outras configurações do mySQL:

key_buffer_size     = 16M
max_allowed_packet  = 512M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#

Eu estou com uma pequena perda sobre o que tentar. Alguma sugestão? O arquivo SQL é de 7GB, e a tabela em que ele está morrendo é de 5GB no servidor antigo.

Obrigado!

    
por Andrew Newby 19.09.2017 / 17:12

1 resposta

1

Na linha de entrada 5995 de sua entrada você deve encontrar uma linha maior que 512M. Ajuste seu max_allowed_packet para cobrir * 1,25 para um pouco de espaço para respirar.

    
por 20.09.2017 / 07:46

Tags