No MySQL, um pacote de comunicação ou pacote refere -se a uma única declaração SQL enviada a um servidor MySQL. Também se refere a uma linha individual que respondeu ao cliente ou log binário do MySQL Server.
Isso significa que, se o cliente ou servidor obtiver um pacote maior que o parâmetro Set max_allow_packet, ele retorna um erro "err_net_packet_too_large". O servidor ou cliente pode fechar a conexão.
Este artigo demonstrará como você pode alterar o tamanho máximo do pacote no MySQL Client e MySQL Server.
O que é max_allow_packet?
O max_allow_packet é uma variável de sessão que determina o número de bytes enviados ou recebidos em um único pacote de comunicação.
Verifique o tamanho atual do pacote máximo permitido
Podemos verificar o tamanho máximo permitido do pacote, obtendo os valores das variáveis MySQL.
Um exemplo de consulta é mostrado abaixo:
mostrar variáveis como 'max_allowed_packet';
A consulta acima deve retornar o tamanho máximo permitido do pacote em bytes como:
| Variable_name | valor |
| -------------------- | -------- |
| max_allowed_packet | 67108864 |
Nosso exemplo mostra que o tamanho máximo permitido do pacote atual é 67108864 bytes, ou aproximadamente 67 MB.
Lembre -se de que, embora o MySQL nos permita alterar o valor máximo permitido do pacote, o maior tamanho de pacote possível é de 1 GB.
Altere o max_allowed_packet em mysql
Método 1 - Configuração do lado do cliente e do servidor
Devemos alterar as configurações do cliente e do servidor para aumentar ou diminuir o valor do tamanho do pacote max_allowed.
Isso decorre do uso de valores independentes do MySQL para MySQLD e o cliente. Portanto, o valor que você recebe das variáveis de show como 'max_allowed_packet' comando refere -se ao valor máximo no lado do servidor.
Para definir o valor máximo no lado do cliente, podemos executar o comando:
Mysql -u Root -p - -max_allowed_packet = 100m
O comando acima define o tamanho do pacote para 100 MB no lado do cliente.
Observe que o pacote máximo padrão permitido no lado do cliente é de 16 MB.
No lado do servidor, modifique o tamanho do pacote como:
mysqld -u root -p -max_allowed_packget = 128m
Observe que o pacote máximo padrão permitido no lado do servidor é de 64 MB.
Método 2 - Lado do servidor sem reiniciar
Se você tiver super privilégios no servidor, poderá alterar o valor do pacote Max usando o comando set global como:
Definir global max_allowed_packet = 128.000.000;
Isso aumenta o valor max_allowed_packget para 128 MB sem reiniciar o servidor. No entanto, requer super privilégios.
Método 3 - Editando o arquivo de configuração
Outro método que você pode usar para aumentar ou diminuir o pacote máximo permitido é editar o arquivo de configuração.
No diretório de instalação do MySQL, localize o meu.Arquivo INI (Windows). Por padrão, o arquivo está localizado em C: \ ProgramData \ Mysql \ MySql Server 8.0
Edite o arquivo e altere o valor max_allowed_packet para o tamanho do seu alvo.
Por exemplo, podemos definir o tamanho do pacote para 128 MB como mostrado:
Salve e feche o arquivo. Reinicie o serviço MySQL para recarregar a nova configuração.
No Linux, você precisa editar o MySqld.arquivo conf. Na maioria dos casos, este arquivo está localizado em/etc/mysql/mysqld.conf.d/mysqld.CNF
Da mesma forma, edite e altere o tamanho max_allowed_packet para o valor desejado. Da mesma forma, reinicie o serviço para recarregar as mudanças.
Conclusão
Neste artigo, você aprendeu o que é o MySQL max_allowed_variable, como verificar o tamanho máximo permitido do pacote e vários métodos para aumentar ou diminuir o tamanho do pacote.