Plug-ins und Komponenten
Bestimmte MySQL-Server-Plug-ins und -Komponenten werden automatisch in das DB-System geladen. Sie müssen keines dieser Plug-ins installieren.
- MySQL Enterprise-Threadpool: Das Threadpool-Plug-in bietet ein alternatives Threadbehandlungsmodell, das Overhead reduziert und die Performance verbessert. Siehe MySQL Enterprise-Threadpool.
Das DB-System HeatWave protokolliert die Anzahl der Verbindungen, die vom Threadpool-Plug-in verwaltet werden. Alle zwei Minuten wird eine Meldung in das Fehlerprotokoll geschrieben. Das Intervall wird in den ersten drei Minuten nach dem erfolgreichen Start des DB-Systems auf 12 Sekunden reduziert. Die Verbindungen werden in Nicht-Admin-Benutzer (Benutzer ohne die Berechtigung
TP_CONNECTION_ADMIN
) und Admin-Benutzer (Benutzer mit der BerechtigungTP_CONNECTION_ADMIN
) gruppiert. Für jede Gruppe werden die folgenden Informationen bereitgestellt:- Verwaltet: Sessions, die derzeit am Ende des Loggingintervalls geöffnet und von den Threadgruppen verarbeitet werden.
- Delta: Änderung der Anzahl der verwalteten Sessions während des letzten Loggingintervalls.
- Aktiv: Sessions, die während des letzten Intervalls einige Zeit aktiv waren (eine Abfrage ausführen).
- Geöffnet: Sessions, die während des letzten Intervalls geöffnet wurden.
- Geschlossen: Sessions, die während des letzten Intervalls geschlossen wurden.
- Hinzugefügt: Sessions, die während des letzten Intervalls geöffnet wurden und noch nicht geschlossen wurden.
- Abgeschlossen: Sessions, die in einem vorherigen Intervall geöffnet und während des letzten Intervalls geschlossen wurden.
- In: Anzahl der eingehenden Verbindungsanforderungen im letzten Intervall.
- Queue: Anzahl der Anforderungen, die sich derzeit in den Queues zwischen dem Server und dem Threadpool befinden.
- Auth: Anzahl der Anforderungen, die derzeit authentifiziert werden.
- Fehler: Anzahl der Anforderungen, die im letzten Intervall abgebrochen wurden, bevor sie an den Threadpool übergeben wurden.
- OK: Anzahl der Anforderungen, die erfolgreich verarbeitet und im letzten Intervall als neue verwaltete Sessions an den Threadpool übergeben wurden.
Dies ist eine Beispielzeile der Ausgabe in MySQL 9.1.0:SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
In der Beispielausgabe wurden während des letzten Intervalls 23 Verbindungsanforderungen empfangen. Es befinden sich noch 2 Anforderungen in der Queue, und fünf Anforderungen werden authentifiziert. Es wurden 20 Verbindungsanforderungen verarbeitet, bei denen 18 an die Threadpoolgruppen übergeben wurden und 2 fehlgeschlagen sind. Die GruppeLOGGED: 2024-10-28 05:41:33.402235 THREAD_ID: 0 PRIO: Note ERROR_CODE: MY-015507 SUBSYSTEM: Server DATA: TP conn (init: in, queue, auth, err, ok. port: managed(delta), active, opened, closed, added, dropped.): Init: 23, 2, 5, 2, 18. Usr: 6(+1), 6, 17, 15, 2, 1. Adm: 2(+1), 2, 1, 0, 1, 0.
usr
zeigt an, dass am Ende dieses Intervalls 1 Benutzersession mehr als das vorherige Intervall vorhanden ist, sodass insgesamt 6 Benutzersessions vorhanden sind. Alle 6 Sessions haben eine oder mehrere Abfragen im Intervall ausgeführt. Während dieses Intervalls werden 17 neue Sitzungen geöffnet und 15 Sitzungen geschlossen. Am Ende des Intervalls wurden 2 der neu geöffneten Sessions nicht geschlossen, während 1 Sessions aus dem vorherigen Intervall geschlossen wurden.Bei einem Threadpool mitthread_pool_size=N
gibt esN
-Threadgruppen, über die Sessions von Nicht-Admin-Benutzern im Round-Robin-Modus zugewiesen werden, während eine einzelne Threadgruppe vorhanden ist, der die Sessions des Admin-Benutzers zugewiesen werden. Der Threadpool enthältN+1
-Threadgruppen.Hinweis
Es wird empfohlen, einen separaten Benutzeraccount zu erstellen, der nur mit den erforderlichen Berechtigungen für Ihre Anwendung erteilt wird, anstatt den Administratoraccount für alle Zwecke zu verwenden. Siehe CREATE USER Statement und GRANT Statement. - MySQL Enterprise Audit-Plug-in: Mit dem Audit-Plug-in kann MySQL Server eine Logdatei erstellen, die einen Auditdatensatz der Serveraktivität enthält. Der Loginhalt umfasst, wenn Clients eine Verbindung herstellen und die Verbindung trennen, und welche Aktionen sie während der Verbindung ausführen, z. B. auf welche Datenbanken und Tabellen sie zugreifen. Sie können Statistiken für die Zeit und Größe jeder Abfrage hinzufügen, um Ausreißer zu ermitteln. Sie können die Standardwerte des Plug-ins nicht ändern.
audit_log_buffer_size: 10485760
audit_log_compression: GZIP
audit_log_database: mysql_audit
audit_log_file: /db/audit/audit.log
audit_log_flush_interval_seconds: 60
audit_log_format: JSON
audit_log_format_unix_timestamp: ON
audit_log_max_size: 5368709120
audit_log_prune_seconds: 604800
audit_log_rotate_on_size: 52428800
mysql_audit
werden nur wenige Berechtigungen entzogen. Siehe MySQL-Standardberechtigungen und MySQL Enterprise-Audit-Plug-in. - Plug-in
connection_control
: MySQL Server umfasst eine Plug-in-Library, mit der Administratoren eine zunehmende Verzögerung der Serverantwort auf Verbindungsversuche nach einer konfigurierbaren Anzahl von aufeinanderfolgenden nicht erfolgreichen Versuchen einführen können. Der Standardwert der Variablen desconnection-control
-Plug-ins lautet wie folgt, und Sie können die Standardwerte nicht ändern:connection_control_failed_connections_threshold: 3
connection_control_max_connection_delay: 10000
connection_control_min_connection_delay: 1000
- Komponente
validate_password
: Die Komponente dient zur Verbesserung der Sicherheit, indem Accountkennwörter erforderlich sind und das Testen der Stärke potenzieller Kennwörter aktiviert wird. Der Standardwert der Variablen der Komponentevalidate_password
lautet wie folgt, und Sie können die Standardwerte nicht ändern:validate_password.check_user_name: ON
validate_password.length: 8
validate_password.mixed_case_count: 1
validate_password.number_count: 1
validate_password.policy: MEDIUM
validate_password.special_char_count: 1
- Datenmaskierung: Die allgemeinen Maskierungsfunktionen maskieren beliebige Zeichenfolgen, spezielle Maskierungsfunktionen maskieren bestimmte Typen von Werten, und Generierungsfunktionen generieren Zufallswerte. Siehe Datenmaskierung.