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

como verificar e definir a variável mysql max_allowed_packet


max_allowed_packet é definido na configuração do mysql, não no lado do php
[mysqld]
max_allowed_packet=16M 

Você pode ver seu valor atual no mysql assim:
SHOW VARIABLES LIKE 'max_allowed_packet';

Você pode tentar alterá-lo assim, mas é improvável que isso funcione na hospedagem compartilhada:
SET GLOBAL max_allowed_packet=16777216;

Você pode ler sobre isso aqui http://dev .mysql.com/doc/refman/5.1/en/packet-too-large.html

EDITAR

O [mysqld] é necessário para fazer o max_allowed_packet trabalhando desde pelo menos a versão 5.5 do mysql.

Configure recentemente uma instância no AWS EC2 com Drupal e Solr Search Engine, que exigiu 32 milhões de max_allowed_packet . Se você definir o valor em [mysqld_safe] (que é a configuração padrão que veio com a instalação do mysql) no modo /etc/my.cnf, não funcionou. Não me aprofundei no problema. Mas depois de mudar para [mysqld] e reiniciei o mysqld, funcionou.