Heim Datenbank MySQL-Tutorial MySQL-Betriebs- und Wartungsprotokollverwaltung

MySQL-Betriebs- und Wartungsprotokollverwaltung

Jun 01, 2020 am 07:53 AM
mysql

Im Allgemeinen verfügt ausgereifte Software über eigene Protokolldateien. Verwenden Sie diese Protokolle, um Probleme schnell zu lokalisieren. In MySQL sind Protokolle in die folgenden Kategorien unterteilt:

  • Langsames Abfrageprotokoll Wenn die Ausführungszeit von SQL den festgelegten Wert überschreitet, wird dies aufgezeichnet

  • Fehlerprotokoll: Wenn beim Starten, Stoppen oder Ausführen von MySQL ein Fehler auftritt, wird dieser im Fehlerprotokoll aufgezeichnet

  • Binärprotokoll, dieses Protokoll zeichnet die SQL-Anweisungen auf, die sich ändern Durch ihn können wir MySQL-Daten wiederherstellen.

  • Abfrageprotokoll wird aufgezeichnet.

Heute werden wir über langsame Abfragen, Fehlerprotokolle, Abfrageprotokolle und binäre Protokolldateien sprechen. Wir werden sie später in einem neuen Artikel ausführlich erläutern.

Fehlerprotokoll

Das Fehlerprotokoll zeichnet Probleme auf, die beim Starten und Stoppen von MySQL auftreten, und zeichnet auch größere Probleme auf, die beim Ausführen von MySQL auftreten . . Sie können Show-Variablen wie „log_err%“ verwenden, um den Speicherort der Fehlerprotokolldatei anzuzeigen.

mysql> show variables like 'log_err%';
+---------------------+-------------------------------+
| Variable_name       | Value                         |
+---------------------+-------------------------------+
| log_error           | ./iZbp171edtq2kx5iy0xufeZ.err |
| log_error_verbosity | 3                             |
+---------------------+-------------------------------+
2 rows in set (0.01 sec)

Das Fehlerprotokoll verwendet standardmäßig den Hostnamen als Dateinamen, err als Suffix und wird im Verzeichnis /var unter dem MySQL-Verzeichnis gespeichert. Wenn wir es ändern möchten, können wir das Element log_error in der Konfigurationsdatei ändern. Sie können einen relativen oder einen absoluten Pfad verwenden. Wenn Sie einen relativen Pfad verwenden, ändern Sie nur den Namen der Fehlerprotokolldatei. Wenn Sie einen absoluten Pfad verwenden, können Sie den Speicherort des Fehlerprotokolls ändern.

Das Anzeigen des Fehlerprotokolls ist ebenfalls sehr einfach. Verwenden Sie einfach cat oder vim, um es anzuzeigen.

Allgemeines Abfrageprotokoll

Das allgemeine Abfrageprotokoll zeichnet alle Benutzervorgänge auf, nimmt daher im Allgemeinen viel Platz ein und wird im Allgemeinen täglich verwendet Betrieb und Wartung Es wird nicht aktiviert und das Protokoll ist standardmäßig ebenfalls geschlossen. Wenn Sie es aktivieren möchten, können Sie die Protokolloption zur Konfigurationsdatei hinzufügen.

Slow Query Log

Slow Query ist ein sehr gutes Tool zur Fehlerbehebung bei SQL-Problemen. In vielen Fällen ist es unser SQL, das das verursacht System läuft nicht rund. Der Autor hat diesen Fehler schon einmal gemacht, indem er eine sehr komplexe Abfrageanweisung verwendet hat, und das System hat 502 erhalten, sobald sie veraltet war. Vor einiger Zeit stellte ich fest, dass das alte Projekt des Unternehmens auch entsprechende Probleme hatte. Wenn die Datenmenge ein bestimmtes Niveau erreichte, traten viele langsame Abfragen auf und die CPU des gesamten Systems war voll. Daher müssen wir das Protokoll der langsamen Abfrage regelmäßig überprüfen, um das SQL-Problem zu finden.

Konfigurationselement für langsame Abfragen

  • slow-query-log={0|off|1|on} Ob Aktivieren Sie die Protokollfunktion für langsame Abfragen

  • Der durch slow-query-time=10 festgelegte Schwellenwert in Sekunden unterstützt Gleitkommazahlen. Wenn die Ausführungszeit von SQL diesen Wert überschreitet, wird dies im langsamen Abfrageprotokoll aufgezeichnet. Wenn auf 0 gesetzt, werden alle Abfragen aufgezeichnet

  • slow_query_log_file=/mydata/data/hostname-slow.log Der Speicherort und Dateiname des langsamen Abfrageprotokolls

  • log_queries_not_using_indexes=OFF Dieses Element gibt an, dass Abfragen, die keine Indizes verwenden, auch im langsamen Abfrageprotokoll aufgezeichnet werden.

Fall

Jetzt schalte ich mein langsames MySQL-Abfrageprotokoll ein und setze die Zeit auf 0, um alles aufzuzeichnen SQL. Schauen wir uns dann an, wie das Slow-Query-Log aussieht.

Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
# Time: 2020-05-31T12:00:01.895700Z
# User@Host: blog[blog] @ localhost []  Id:     3
# Query_time: 0.000170  Lock_time: 0.000000 Rows_sent: 0  Rows_examined: 0
use blog;
SET timestamp=1590926401;
SET NAMES utf8mb4;
# Time: 2020-05-31T12:00:01.902684Z
# User@Host: blog[blog] @ localhost []  Id:     3
# Query_time: 0.006914  Lock_time: 0.006529 Rows_sent: 0  Rows_examined: 120
SET timestamp=1590926401;
SELECT * FROM knowledge 
            WHERE is_delete=0 AND star < 5 AND show_time <= 1590854400   ORDER BY  show_time ASC 
            LIMIT 1;

Wir schauen uns hauptsächlich die Zeile „Query_time“ an

  • Query_time: Abfragezeit

  • Lock_time: Sperrtabellenzeit

  • Rows_sent: Erhaltene Datenzeilen

  • Rows_examined: Gescannte Datenzeilen

Das obige ist der detaillierte Inhalt vonMySQL-Betriebs- und Wartungsprotokollverwaltung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie benutze ich eine Fallanweisung in MySQL? Wie benutze ich eine Fallanweisung in MySQL? Sep 20, 2025 am 02:00 AM

Die Antwort lautet: MySQLs Fallanweisung wird verwendet, um eine bedingte Logik in der Abfrage zu implementieren und unterstützt zwei Formulare: Einfach und Suche. Unterschiedliche Werte können dynamisch in Klauseln wie SELECT, WO und OrderBy zurückgegeben werden. In der Auswahl der Bewertungen nach fraktionalen Segmenten, der Kombination von Aggregatfunktionen zum Zählen der Anzahl der Zustände oder der Priorisierung bestimmter Rollen in der Reihenfolge beispielsweise ist es erforderlich, immer mit dem Ende zu enden.

Wie automatisiert ich MySQL -Backups mit einem Skript? Wie automatisiert ich MySQL -Backups mit einem Skript? Sep 21, 2025 am 02:24 AM

Erstellen Sie ein Shell -Skript, das die Datenbankkonfiguration und den Befehl mySQldump enthält, und speichern Sie es als mySQL_Backup.sh; 2. Speichern Sie MySQL -Anmeldeinformationen, indem Sie ~/.my.cnf -Datei erstellen, und setzen Sie 600 Berechtigungen, um die Sicherheit zu verbessern, das Skript so, dass die Konfigurationsdateiauthentifizierung verwendet wird. 3.. Verwenden Sie CHMOD X, um das Skript ausführbar zu machen, und testen Sie manuell, ob die Sicherung erfolgreich ist. 4. Fügen Sie zeitgesteuerte Aufgaben durch Crontab-e hinzu, wie z. 5.

Wie benutze ich Unterabfragen in MySQL? Wie benutze ich Unterabfragen in MySQL? Sep 20, 2025 am 01:07 AM

Unterabfragen können verwendet werden, um die Filterung oder Berechnung von Klauseln auszuwählen und auf der Grundlage einer anderen Abfrage zu implementieren. Operatoren wie in Anyery werden üblicherweise in wo verwendet; Alias ​​werden als Ableitungsabellen in aus von; Einzelwerte müssen in SELECT zurückgegeben werden. Verwandte Unterabfragen stützen sich auf die äußere Abfrage, um jede Zeile auszuführen. Überprüfen Sie beispielsweise Mitarbeiter, deren Durchschnittsgehalt höher ist als die Abteilung, oder fügen Sie die durchschnittliche Gehaltsliste des Unternehmens hinzu. Unterabfragen verbessern die logische Klarheit, aber die Leistung kann niedriger sein als der Join. Sie müssen daher sicherstellen, dass Sie die erwarteten Ergebnisse zurückgeben.

So aktualisieren Sie eine Zeile, wenn sie existiert oder einfügt, wenn nicht in MySQL So aktualisieren Sie eine Zeile, wenn sie existiert oder einfügt, wenn nicht in MySQL Sep 21, 2025 am 01:45 AM

Einfügen ... ONDUPLICEKEYUPDATE -Implementierung wird aktualisiert, wenn sie vorhanden ist, andernfalls wird sie eingefügt und benötigt einzigartige oder primäre Schlüsselbeschränkungen. 2. Nach dem Löschen von Ersatz intino, was zu Änderungen der automatischen Inkrement-ID führen kann; 3.. Insertigore wird nur einfügt und sich nicht wiederholt und nicht aktualisiert. Es wird empfohlen, die erste Implementierung von Upsert zu verwenden.

Wie benutze ich den Befehl erklären in MySQL? Wie benutze ich den Befehl erklären in MySQL? Sep 18, 2025 am 01:48 AM

ErklärenmysqlrevealSQueryExecutionPlans, zeigt, dassIndexusage, tablereadorder, AndrowfilteringToopTimizeperformance; UseItBeforeSelecttoanalyzesteps, CheckkeyColumnSliketypeandrowrowrows, IdentificiencieSextra und CombinewithIndexingsexingsexingsexingsForfasterqueri

Wie wähle ich in MySQL unterschiedliche Werte aus? Wie wähle ich in MySQL unterschiedliche Werte aus? Sep 16, 2025 am 12:52 AM

Verwenden Sie das bestimmte Schlüsselwort, um doppelte Werte aus der angegebenen Spalte zu entfernen und eindeutige Werte zurückzugeben. 1. Die grundlegende Syntax ist selectDistinctColumn_namefromtable_name; 2. Fragen Sie den eindeutigen Wert einer einzelnen Spalte ab, z. B. SelectDistinctCityFromcustomere; 3.. Fragen Sie die eindeutige Kombination mehrerer Spalten ab, z. 4. Filter mit der Where -Klausel und erhalten

So berechnen Sie den Abstand zwischen zwei Punkten in MySQL So berechnen Sie den Abstand zwischen zwei Punkten in MySQL Sep 21, 2025 am 02:15 AM

MySQL kann geografische Entfernungen durch die Haversin -Formel oder die Funktion st_distance_Sphere berechnen. Ersteres ist für alle Versionen geeignet, und letztere liefert seit 5,7 einfachere und genauere Berechnungen der kugelförmigen Entfernung.

Wie gehe ich mit Timezones in MySQL um? Wie gehe ich mit Timezones in MySQL um? Sep 20, 2025 am 04:37 AM

Verwenden Sie UTC, um die Zeit zu speichern, die MySQL -Server -Zeitzone auf UTC festlegen, verwenden Sie Zeitstempel, um die automatische Zeitzone -Konvertierung zu realisieren, die Zeitzone gemäß den Benutzern Anforderungen in der Sitzung anzupassen, die lokale Zeit über die Funktion Convert_TZ anzeigen und sicherstellen, dass die Zeitzone -Tabelle geladen wird.

See all articles