Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Você pode aumentar max_allowed_packet do cliente?


Eu li muitos artigos que explicam como fazer isso, mas cheguei à conclusão de que eles simplesmente não testaram corretamente. Minhas conclusões são:

  • max_allowed_packet do servidor é um limite superior codificado. Você pode alterá-lo para todo o servidor como qualquer outra configuração do lado do servidor (arquivo de configuração ou parâmetros de linha de comando do servidor), mas não é possível aumentá-lo a partir do cliente.

  • Alguns clientes (como o utilitário de linha de comando oficial) permitem definir max_allowed_packet na conexão. É a única maneira de realmente alterar o valor de um cliente (mudança de sessão ou variáveis ​​globais não afeta o tamanho dos pacotes trocados), mas só é útil se você quiser diminuir isto. O envio de pacotes maiores que a configuração do servidor ainda acionará erros relacionados ao pacote, pois o servidor não os aceitará.

Resumindo:
  1. Você precisa tratar max_allowed_packet como somente leitura.
  2. Se for muito pequeno, você precisa alterá-lo para todo o servidor ou viver com ele.

É uma pena que eu não possa fornecer links para a documentação oficial, mas este assunto está mal documentado.