GNU/Linux >> Linux Esercitazione >  >> Linux

SET GLOBAL max_allowed_packet non funziona

Hmmmm .. Sembra che tu abbia colpito questo NON-UN-BUG. :)

Se si modifica una variabile di sistema globale, il valore viene memorizzato e utilizzato per le nuove connessioni fino al riavvio del server. (Per rendere permanente l'impostazione di una variabile di sistema globale, è necessario impostarla in un file di opzioni.) La modifica è visibile a qualsiasi client che accede a quella variabile globale. Tuttavia, la modifica influisce sulla variabile di sessione corrispondente solo per i client che si connettono dopo la modifica. La modifica della variabile globale non influisce sulla variabile di sessione per nessun client attualmente connesso (nemmeno quella del client che emette l'istruzione SET GLOBAL).

Segnala anche questo. Leggi la spiegazione di Shane Bester.

Dovresti passare dal file my.ini/my.cnf e riavviare il server affinché l'impostazione max_allowed_packet abbia effetto.


Dopo aver eseguito

set global max_allowed_packet=1000000000;

devi riavviare mysql prima di

SHOW VARIABLES LIKE 'max_allowed_packet'

mostrerà il nuovo valore.

Ho questo problema quando riavvio mysql tramite le preferenze di sistema di MAC OSX e il valore non è cambiato. Quindi, accedendo a mysql tramite console

mysql -u root -p

cambiarlo e quindi riavviare mySql sembrava funzionare. Potrebbe essere stata una stranezza di OS X però.


Per quelli con una configurazione MariaDb il problema potrebbe essere che il max_allowed_packet variabile viene sovrascritta da un file di configurazione chiamato later.

Nel mio caso ho provato ad importare un database e il server mi ha risposto:ERRORE 2006 (HY000) alla riga 736:il server MySQL è andato via

Ho scoperto che il file:

/etc/mysql/mariadb.conf.d/50-server.cnf

viene chiamato più tardi

/etc/mysql/conf.d/mysql.cnf

Ho provato a modificare continuamente il file "mysql.cnf" ma il valore è stato sovrascritto in "50-server.cnf".

Quindi la soluzione è inserire il file

/etc/mysql/mariadb.conf.d/50-server.cnf

e invece di "max_allowed_packet =16M" inserire il valore desiderato come esempio"max_allowed_packet =64M"


Linux
  1. Perché l'espansione della variabile senza $ funziona nelle espressioni?

  2. Come impostare la variabile $ Path in Linux

  3. Configura la replica della replica sorgente di MySQL

  4. Imposta la variabile di ambiente con lo spazio in Linux

  5. LD_LIBRARY_PATH non sembra funzionare

Come impostare la replica MySQL Master Slave

Come impostare la variabile d'ambiente in Windows

Come impostare le variabili d'ambiente in MacOS

Come impostare la variabile d'ambiente in Bash

Perché il mio collegamento simbolico non funziona?

perché il bridge linux non funziona