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

Zwei Möglichkeiten zum Aktivieren der Firewall im Linux-Dienst

Es gibt zwei Möglichkeiten: 1. Servicemethode Übe...

So löschen Sie den MySQL 8.0-Dienst vollständig unter Linux

Bevor Sie diesen Artikel lesen, sollten Sie sich ...

So verwenden Sie Nginx als Load Balancer für MySQL

Hinweis: Die Nginx-Version muss 1.9 oder höher se...

Sammlung gemeinsamer DIV-Attribute

1. Immobilienliste Code kopieren Der Code lautet w...

Nutzerbedürfnisse führen zu marketingorientiertem Design

<br />Zu jedem unserer Themen bespricht das ...

Tabelle td Bild horizontal und vertikal zentriert Code

HTML Code: Code kopieren Der Code lautet wie folgt...

Google Translate Tool: Mehrsprachige Webseiten schnell umsetzen

Google China hat ein Übersetzungstool veröffentlic...

Wie wirkt sich der zusammengesetzte Index von MySQL aus?

Inhaltsverzeichnis Hintergrund Zusammengesetzte I...

Analyse der Prinzipien und der Nutzung von Docker-Container-Datenvolumes

Was ist ein Containerdatenvolumen? Wenn sich die ...

So beheben Sie den abnormalen Start von mysql5.7.21

Ein Kollege meldete, dass eine MySQL-Instanz aufg...

Mehrere Möglichkeiten zur manuellen Implementierung von HMR in Webpack

Inhaltsverzeichnis 1. Einleitung 2. GitHub 3. Gru...

Umfassende Zusammenfassung der MySQL-Tabellen

Inhaltsverzeichnis 1. Erstellen Sie eine Tabelle ...