Puncte:0

Cum schimb MySQL wait_timeout în mediul de producție în timpul execuției?

drapel gl

Rulez Windows, IIS, MySQL, PHP.

În my.ini sub [mysqld] valoarea pentru wait_timeout este setată la 60.

wait_timeout = 60

Dar când execut următoarele:

afișează variabile precum „wait_timeout”;

Îmi arată că valoarea este 28800, ceea ce știu că este implicit.

Așa că am încercat să setez valoarea executând următoarele:

SET GLOBAL wait_timeout = 60;

Dar asta nu pare să funcționeze. MySql Workbench îmi spune „0 rânduri afectate" și când execut variabile show precum "wait_timeout", încă îmi spune că valoarea este 28800.

Am verificat și interactive_timeout și povestea este aceeași. Valoarea este 28800 și nu o pot schimba.

Ce îmi lipsește aici?

MohammadReza moeini avatar
drapel us
Vă rugăm să verificați subiectul: https://stackoverflow.com/questions/22425463/set-global-variables-not-working-mysql
Wilson Hauck avatar
drapel jp
Când doriți să aflați valoarea wait_timeout există două valori distincte. AFIȘAȚI VARIABILELE GLOBALE CA „wait_timeout”; și AFIȚĂ VARIABILELE DE SESIUNE, cum ar fi „wait_timeout”. AFIȘAȚI VARIABILELE CA „wait_timeout” presupune că doriți variabila de sesiune. wait_timeout controlează timpul de expirare a inactivității pentru procesarea obișnuită, interactive_timeout controlează toleranța timpului de inactivitate (secunde) atunci când se utilizează promptul de comandă MySQL pentru procesare. Când doriți să SETATI SESIUNEA wait_timeout; trebuie să urmați imediat solicitarea pe care doriți să o rulați, deoarece un nou prompt de comandă MySQL este o altă sesiune.
Wilson Hauck avatar
drapel jp
Vince, mă bucur să te revăd la SF.
Puncte:0
drapel gl

Răspunsul este să setați valoarea fără cuvântul cheie GLOBAL.

SET wait_timeout = 60;
Puncte:0
drapel ua

GLOBAL setările sunt copiate în dvs SESIUNE setări când te conectezi. Utilizați oricare dintre aceste sintaxe:

SET @@... = ...;
SETĂ SESIUNE ... = ...;

wait_timeout se referă la cât de curând veți fi deconectat. Asta vrei?

În plus, există o oarecare confuzie cu privire la expirarea „lotului” versus „interactiv”. Arata bine.

drapel gl
Nu am reușit să-l fac să funcționeze cu „@@”, dar utilizarea cuvântului cheie SESSION a fost esențială! Mulțumesc.
drapel ua
@Vincent - Fac greșeli. Fix.
drapel gl
Îmi pare rău că mi-am schimbat răspunsul acceptat. Tocmai treceam în revistă acest lucru și mi-am dat seama că, deși răspunsul tău m-a pus pe calea cea bună, nu era soluția finală, așa că m-am gândit pentru viitorii vizitatori că ar fi mai util să evidențiez soluția corectă cu o bifă verde.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.