sql >> Databasteknik >  >> RDS >> Mysql

hur man kontrollerar och ställer in max_allowed_packet mysql-variabel

max_allowed_packet är inställd i mysql config, inte på php-sidan

[mysqld]
max_allowed_packet=16M 

Du kan se det aktuella värdet i mysql så här:

SHOW VARIABLES LIKE 'max_allowed_packet';

Du kan försöka ändra det så här, men det är osannolikt att det kommer att fungera på delad värd:

SET GLOBAL max_allowed_packet=16777216;

Du kan läsa om det här http://dev .mysql.com/doc/refman/5.1/en/packet-too-large.html

REDIGERA

[mysqld] är nödvändigt för att göra max_allowed_packet fungerar sedan åtminstone mysql version 5.5.

Nyligen konfigurerade en instans på AWS EC2 med Drupal och Solr Search Engine, som krävde 32M max_allowed_packet . Om du ställer in värdet under [mysqld_safe] (vilket är standardinställningarna kom med mysql-installationen) läge i /etc/my.cnf, det fungerade inte. Jag grävde inte ner mig i problemet. Men efter att jag ändrat det till [mysqld] och startade om mysqld, det fungerade.



  1. Kan jag använda returvärdet för INSERT...RETURNING i en annan INSERT?

  2. fel:'Kan inte ansluta till lokal MySQL-server via socket '/var/run/mysqld/mysqld.sock' (2)' -- Saknar /var/run/mysqld/mysqld.sock

  3. Neo4j - Skapa en begränsning med Cypher

  4. MariaDB JSON_VALID() Förklarad