GNU/Linux >> Znalost Linux >  >> Linux

SET GLOBAL max_allowed_packet nefunguje

Hmmmm.. Zdá se, že jste trefili NE-A-BUG. :)

Pokud změníte globální systémovou proměnnou, hodnota se zapamatuje a použije pro nová připojení, dokud se server nerestartuje. (Chcete-li, aby nastavení globální systémové proměnné bylo trvalé, měli byste ji nastavit v souboru voleb.) Změna je viditelná pro každého klienta, který přistupuje k této globální proměnné. Změna však ovlivní odpovídající proměnnou relace pouze pro klienty, kteří se připojí po změně. Změna globální proměnné neovlivní proměnnou relace u žádného aktuálně připojeného klienta (ani u klienta, který vydává příkaz SET GLOBAL).

Odkazujte také na toto. Přečtěte si vysvětlení Shane Bestera.

Měli byste přejít ze souboru my.ini/my.cnf a restartovat server, aby se nastavení max_allowed_packet projevilo.


Po spuštění

set global max_allowed_packet=1000000000;

musíte restartovat mysql před

SHOW VARIABLES LIKE 'max_allowed_packet'

zobrazí novou hodnotu.

Mám tento problém při restartování mysql prostřednictvím systémových předvoleb MAC OSX a hodnota se nezměnila. Tedy přihlášením do mysql přes konzoli

mysql -u root -p

Zdá se, že jeho změna a restartování mySql fungovalo. I když to mohl být vtip s OS X.


Pro uživatele s konfigurací MariaDb může být problém v tom, že max_allowed_packet proměnná je přepsána konfiguračním souborem nazvaným později.

V mém případě jsem se pokusil importovat databázi a server mi odpověděl:CHYBA 2006 (HY000) na řádku 736:MySQL server zmizel

Zjistil jsem, že soubor:

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

se nazývá později

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

Snažil jsem se průběžně měnit v souboru "mysql.cnf", ale hodnota byla přepsána v "50-server.cnf".

Řešením je tedy zadat soubor

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

a místo"max_allowed_packet =16M" uveďte požadovanou hodnotu jako příklad"max_allowed_packet =64M"


Linux
  1. Proč variabilní expanze bez $ funguje ve výrazech?

  2. 2 způsoby, jak trvale nastavit proměnnou $PATH v ubuntu

  3. Nastavit proměnnou prostředí s prostorem v Linuxu

  1. LD_LIBRARY_PATH zřejmě nefunguje

  2. Proměnná prostředí TERM není nastavena

  3. Celosystémová globální proměnná / semafor / mutex v C++/Linuxu?

  1. Kde je v Ubuntu nastavena proměnná PATH?

  2. chmod nefunguje

  3. Proč můj symbolický odkaz nefunguje?