MySql 'wait_timeout' Globale Variable vs Variable

8

Ich versuche, einen Verbindungszeitüberschreitungsfehler zu reproduzieren, indem ich "wait_timeout" vorübergehend auf 60 Sekunden statt der Standard 28800 Sekunden reduziere.

Ich habe wait_timeout = 60 zur Datei my.ini hinzugefügt und MySql neu gestartet. Leider kann ich den Fehlerzustand immer noch nicht reproduzieren (außer ich möchte 28800 Sekunden warten).

Die folgenden Abfragen scheinen zu zeigen, dass "wait_timeout" auf der globalen Variablenebene auf 60 gesetzt ist, aber immer noch auf 28800 Sekunden für die reguläre Variable eingestellt ist (ist das dasselbe wie die Sitzungsvariable?).

Wie kann ich das korrigieren? Wie wird die Einstellung in der my.ini überschrieben?

Danke für irgendeinen Rat, da ich immer noch ein bisschen ein MySql Admin-Noob bin. :)

Ich verwende MySql 5.5.10 unter Windows XP.

%Vor%     
Justin 30.04.2011, 00:44
quelle

1 Antwort

7

Aus der MySQL-Dokumentation: wait_timeout :

  

Beim Thread-Start wird der Wert für wait_timeout der Sitzung aus dem globalen Wert initialisiert    wait_timeout Wert oder vom globalen interactive_timeout Wert, abhängig von der   Clienttyp (wie von der CLIENT_INTERACTIVE-Verbindungsoption zu definiert   mysql_real_connect ()). Siehe auch interactive_timeout.

Sie sollten auch die globale Variable interactive_timeout in Ihrer Ini-Datei absenken.

Beachten Sie auch Folgendes:

  

Dieser Timeout gilt nur für TCP / IP- und Unix-Socket-Dateiverbindungen,     nicht zu Verbindungen, die mit Named Pipes oder Shared Memory erstellt wurden.

(Wie Vladislav gesagt hat, sollte die obige Anmerkung ignoriert werden, da dieser Bug behoben wurde und das Zeitlimit gilt auch für Verbindungen mit Named Pipes oder Shared Memory, aber die Dokumente wurden anscheinend nicht aktualisiert.)

    
ypercubeᵀᴹ 30.04.2011, 00:53
quelle

Tags und Links