Lassen Sie uns über Parameter in MySQL sprechen

Lassen Sie uns über Parameter in MySQL sprechen

Vorwort:

In einigen früheren Artikeln haben wir häufig die Einführung der Funktionen bestimmter Parameter gesehen. Einige Freunde verstehen möglicherweise immer noch nicht, was MySQL-Parameter sind. Lassen Sie uns in diesem Artikel über MySQL-Parameter sprechen und lernen, wie man MySQL-Parameter verwaltet und pflegt.

1.MySQL-Parameterkonzept

Die Parameter, über die wir sprechen, werden in offiziellen Dokumenten als Systemvariablen bezeichnet. Unterschiedliche Variablen haben unterschiedliche Funktionen. Der MySQL-Server verwaltet viele Systemvariablen, die seine Konfiguration darstellen und alle über Standardwerte verfügen. Sie können normalerweise in der Startbefehlszeile oder in einer Konfigurationsdatei festgelegt werden.

Systemvariablen werden in globale Systemvariablen (Global) und Sitzungssystemvariablen (Session) unterteilt. Einige Variablen sind sowohl globale als auch Sitzungsvariablen, und einige sind nur globale Variablen. Globale Variablen wirken sich auf den globalen Betrieb des Servers aus, während Sitzungsvariablen sich nur auf bestimmte, mit der Clientverbindung zusammenhängende Vorgänge auswirken. Wenn eine Sitzungsvariable nicht einzeln festgelegt wird, wird sie von der entsprechenden globalen Variable übernommen.

Beim Start des MySQL-Dienstes werden globalen Variablen Werte entsprechend den in der Konfigurationsdatei oder Befehlszeile angegebenen Optionen zugewiesen. Wenn keine Optionen angegeben sind, werden die Standardwerte verwendet. Nachdem der Dienst gestartet wurde, können Sie die Werte einiger globaler Variablen dynamisch ändern, indem Sie eine Verbindung zum Server herstellen und die Anweisung SET GLOBAL var_name ausführen. Um globale Variablen zu ändern, müssen Sie über das SUPER-Privileg verfügen. MySQL verwaltet außerdem Sitzungsvariablen für jede Clientverbindung und initialisiert Clientsitzungsvariablen beim Herstellen einer Verbindung mit den aktuellen Werten der entsprechenden globalen Variablen. Der Client kann Sitzungsvariablen dynamisch über die Anweisung SET SESSION var_name ändern. Das Festlegen von Sitzungsvariablen erfordert keine besonderen Berechtigungen, aber Sitzungsvariablen gelten nur für die aktuelle Verbindung.

2. Beispiele für Parameterabfragen und -änderungen

Zu beachten ist hierbei auch, dass sich nicht alle Parameter dynamisch verändern lassen. Manche Parameter können erst durch ein Schreiben in die Konfigurationsdatei und einem Neustart der Datenbank wirksam werden. Als nächstes demonstrieren wir die Abfrage und Änderung von MySQL-Parametern.

# Parameterabfrage show global variables like 'var_name'; //Wert globaler Systemvariablen anzeigen. Sie können das Platzhalterzeichen % verwenden show session variables like 'var_name'; //Wert von Session-Systemvariablen anzeigen show variables like 'var_name'; //Rückgabe von Session-Systemvariablen priorisieren. Wenn die Session-Systemvariablen nicht vorhanden sind, globale Systemvariablen zurückgeben.

# Sie können „select“ auch verwenden, um einen bestimmten Parameter abzufragen select @@global.var_name; //Globale Systemvariable select @@session.var_name; //Sitzungssystemvariable select @@var_name; //Prioritätssitzungssystemvariable # Abfragebeispiel mysql> show global variables like 'server_id';
+---------------+---------+
| Variablenname | Wert |
+---------------+---------+
| Server-ID | 1003306 |
+---------------+---------+
1 Zeile im Satz (0,00 Sek.)

mysql> globale Variablen wie „log_bin%“ anzeigen;
+---------------------------------+------------------------------+
| Variablenname | Wert |
+---------------------------------+------------------------------+
| log_bin | EIN |
| log_bin_basename | /data/mysql/logs/binlog |
| log_bin_index | /data/mysql/logs/binlog.index |
| log_bin_trust_function_creators | EIN |
| log_bin_use_v1_row_events | AUS |
+---------------------------------+------------------------------+
5 Zeilen im Satz (0,00 Sek.)

mysql> wähle @@server_id;
+-------------+
| @@Server-ID |
+-------------+
|1003306|
+-------------+
1 Zeile im Satz (0,00 Sek.)

# Parameter dynamisch ändern, global festlegen, var_name = Wert;
setze Sitzung var_name = Wert;
setze var_name = Wert;

setze @@global.var_name = Wert;
setze @@session.var_name = Wert;
setze @@var_name = Wert;

# Beispiel für Parameteränderung mysql> set global sort_buffer_size = 2097152;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> setze Sitzungssortierpuffergröße = 4194304;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

mysql> wähle @@global.sort_buffer_size,@@session.sort_buffer_size;
+-----------------------------+-------------+
| @@global.sort_buffer_size | @@session.sort_buffer_size |
+-----------------------------+-------------+
| 2097152 | 4194304 |
+-----------------------------+-------------+
1 Zeile im Satz (0,00 Sek.)

Nachdem die Parameter dynamisch geändert wurden, wird empfohlen, sie in die Konfigurationsdatei zu schreiben. Da dynamisch geänderte Parameter nach einem Neustart des MySQL-Dienstes ungültig werden, können diese nach dem Neustart nur wirksam werden, wenn sie in die Konfigurationsdatei geschrieben werden. Bei manchen Parametern ist eine dynamische Änderung nicht möglich. Sie können nur wirksam werden, indem wir die Konfigurationsdatei ändern und dann einen Neustart durchführen. Die hier erwähnte Konfigurationsdatei ist die Datei my.cnf, die sich auf Linux-Systemen normalerweise im Verzeichnis /etc und auf Windows-Systemen im Verzeichnis basedir befindet. Sie kann my.ini heißen. Die meisten Parameter müssen unter [mysqld] konfiguriert werden. Ein Beispiel für eine einfache Konfigurationsdatei ist wie folgt:

vi /etc/meine.cnf
# Die einfache Vorlage sieht wie folgt aus:
[mysqld]
Benutzer = MySQL 
Datenverzeichnis = /Daten/MySQL/Daten  
Socket = /data/mysql/tmp/mysql.sock
pid-Datei = /data/mysql/tmp/mysqld.pid 
skip_name_resolve = 1
max_Verbindungen = 2000
Kleinbuchstaben-Tabellennamen = 1
log_timestamps=SYSTEM
max_allowed_packet = 32M
...

MySQL-Parameter werden im Allgemeinen von DBAs oder Betriebs- und Wartungspersonal verwaltet und einige Studenten sind mit diesen Parametern möglicherweise nicht vertraut. Es wird empfohlen, bei der Initialisierung der Datenbank die entsprechenden Datenbankparameter entsprechend den Serverspezifikationen einzustellen. Bei Parametern, deren Funktion unklar ist, empfiehlt es sich, die Standardwerte beizubehalten. Weitere Informationen zu Parametern finden Sie in der offiziellen Dokumentation:

https://dev.mysql.com/doc/refman/5.7/en/server-system-variable-reference.html

Zusammenfassen:

In diesem Artikel werden die Konzepte im Zusammenhang mit MySQL-Parametern und Abfrageänderungsmethoden ausführlich beschrieben. Ich hoffe, dass jeder relevante Kenntnisse erlernen kann.

Oben finden Sie ausführliche Informationen zu den Parametern in MySQL. Weitere Informationen zu MySQL-Parametern finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Python-Verbindungs-MySQL-Methode und allgemeine Parameter
  • Zusammenfassung der speicherbezogenen Parameter von MySQL 8.0
  • Problem bei der Parameterübergabe in pyMySQL-SQL-Anweisungen, Beschreibung einzelner oder mehrerer Parameter
  • Python MySQL in der Parametrisierungsbeschreibung
  • Python MySQLdb-Parameterübergabemethode beim Ausführen von SQL-Anweisungen
  • Python MySQL Datums-/Uhrzeitformatierung als Parameteroperationen
  • Detaillierte Erklärung zur Verwendung benutzerdefinierter Parameter in MySQL
  • Detaillierte Erläuterung der grundlegenden Verwendung von MySql-Stored-Procedure-Parametern
  • Detaillierte Analyse der Parameterdatei my.cnf von MySQL in Ubuntu
  • Detaillierte Erläuterung der MySQL-Konfigurationsparameteroptimierung
  • Umfassende Referenz zur MySQL-Leistungsoptimierungsmethode, von der CPU über die Dateisystemauswahl bis hin zur mysql.cnf-Parameteroptimierung
  • Detaillierte Erläuterung der Parameteroptimierung table_open_cache und sinnvolle Konfiguration unter MySQL 5.6

<<:  Native js implementiert Warenkorb-Logik und -Funktionen

>>:  Verwendung des Linux-Befehls „userdel“

Artikel empfehlen

Beispielcode zur Implementierung eines Waben-/Sechseckatlas mit CSS

Ich weiß nicht warum, aber UI gestaltet gerne Wab...

MySQL-Einschränkungen - Super detaillierte Erklärung

Inhaltsverzeichnis MySQL-Einschränkungsoperatione...

Beispielcode einer in Vue3 gekapselten Lupenkomponente

Inhaltsverzeichnis Komponenteninfrastruktur Zweck...

In der HTML-Tabelle wird nur der äußere Rand der Tabelle angezeigt

Ich möchte eine Frage stellen. Ich habe in Dreamw...

Methode zum Schreiben von bedingten Kommentaren und Beispielcode

Als Front-End-Ingenieure müssen wir mit dem IE ve...

Erste Schritte mit der Konvertierung von Vue in React

Inhaltsverzeichnis Design Komponentenkommunikatio...

Öffnen Sie den Windows-Server-Port (nehmen Sie als Beispiel Port 8080)

Was ist ein Port? Bei den Ports, auf die wir uns ...

Überblick und Einführung in das Linux-Betriebssystem

Inhaltsverzeichnis 1. Was ist ein Betriebssystem?...

Die Element-UI-Tabelle realisiert die Dropdown-Filterfunktion

In diesem Artikelbeispiel wird der spezifische Co...

So legen Sie die Tabellenbreite in IE8 und Chrome fest

Wenn die oben genannten Einstellungen in IE8 und C...

Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen

Einführung Das MySQL-Protokoll für langsame Abfra...

Ein tiefer Einblick in die MySQL InnoDB-Speicher-Engine

Vorwort InnoDB gehört in MySQL zur Speicher-Engin...