Heim > Datenbank > MySQL-Tutorial > Hauptteil

Detaillierte Erläuterung der globalen und lokalen Variablen von MySQL

王林
Freigeben: 2020-01-27 20:39:04
nach vorne
2632 Leute haben es durchsucht

Detaillierte Erläuterung der globalen und lokalen Variablen von MySQL

Normalerweise wird beim Serverstart jede globale Variable auf ihren Standardwert initialisiert (wir können diese Standardwerte über die Befehlszeile oder die in der Optionsdatei angegebenen Optionen ändern) und Dann verwaltet der Server auch einen Satz Sitzungsvariablen für jeden verbundenen Client, wobei die Sitzungsvariablen des Clients zum Zeitpunkt der Verbindung mit den aktuellen Werten der entsprechenden globalen Variablen initialisiert werden.

Ein Beispiel ist wie folgt:

initialisiert eine Systemvariable mit dem Namen default_storage_engine mit einem Gültigkeitsbereich von GLOBAL, wenn der Server gestartet wird weist dem Client separat eine Systemvariable mit dem Namen „default_storage_engine“ und dem Gültigkeitsbereich „SESSION“ zu. Der Wert der Systemvariablen mit dem Gültigkeitsbereich „SESSION“ wird entsprechend dem Wert der gleichnamigen Systemvariablen mit dem aktuellen Gültigkeitsbereich „GLOBAL“ initialisiert.

(Empfohlenes kostenloses Lernvideo-Tutorial: MySQL-Video-Tutorial )

Offensichtlich ist der Umfang der durch Startoptionen festgelegten Systemvariablen GLOBAL, d. h. für alle Clients gültig, da beim Systemstart keine Verbindung zum Client-Programm hergestellt wurde. Nachdem wir den GLOBAL- und SESSION-Bereich von Systemvariablen verstanden haben, werfen wir einen Blick auf die Syntax zum Festlegen von Systemvariablen über das Client-Programm während der Ausführung des Serverprogramms:

SET [GLOBAL|SESSION] 系统变量名 = 值;
Nach dem Login kopieren

oder wie folgt:

SET [@@(GLOBAL|SESSION).]var_name = XXX;
Nach dem Login kopieren

Zum Beispiel möchten wir den Wert der Systemvariablen default_storage_engine mit einem Gültigkeitsbereich von GLOBAL in MyISAM ändern, während der Server läuft. Das heißt, wir möchten, dass alle neuen Clients, die mit dem Server verbunden sind, MyISAM als Standardspeicher verwenden Dann können wir die folgenden zwei auswählen. Stellen Sie eine der Anweisungen ein:

Anweisung eins:

SET GLOBAL default_storage_engine = MyISAM;
Nach dem Login kopieren

Anweisung zwei:

SET @@GLOBAL.default_storage_engine = MyISAM;
Nach dem Login kopieren

Wenn Sie nur wirksam werden möchten Für diesen Client können Sie auch eine der drei folgenden Anweisungen auswählen:

Anweisung eins:

SET SESSION default_storage_engine = MyISAM;
Nach dem Login kopieren

Anweisung zwei:

SET @@SESSION.default_storage_engine = MyISAM;
Nach dem Login kopieren

Anweisung drei:

SET default_storage_engine = MyISAM;
Nach dem Login kopieren

Sie können auch die obige Anweisung drei verwenden. Es ist ersichtlich, dass der Standardbereich SESSION ist, wenn der Bereich in der Anweisung zum Festlegen der Systemvariablen weggelassen wird. Mit anderen Worten: SET Systemvariablenname = Wert und SET SESSION Systemvariablenname = Wert sind gleichwertig.

Systemvariablen mit unterschiedlichen Gültigkeitsbereichen anzeigen

Da Systemvariablen Gültigkeitsbereiche haben, welchen Gültigkeitsbereich von Systemvariablen prüft unsere SHOW VARIABLES-Anweisung?

Antwort: Standardmäßig werden die Systemvariablen im SESSION-Bereich angezeigt.

Natürlich können wir auch den Bereich der Systemvariablen, den wir überprüfen möchten, in der Anweisung hinzufügen, um die Systemvariablen zu überprüfen, wie folgt:

SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
Nach dem Login kopieren

Empfohlene verwandte Artikel und Tutorials: MySQL-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der globalen und lokalen Variablen von MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage