Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So aktivieren Sie das Protokoll für langsame Abfragen in MySQL

In diesem Artikel wird beschrieben, wie Sie das MySQL-Protokoll für langsame Abfragen aktivieren. Sie können das Protokoll für langsame Abfragen verwenden, um festzustellen, welche Datenbankabfragen lange dauern, bis sie ausgeführt werden.

Dieser Artikel gilt nur für Produkte, die in den Artikeldetails aufgeführt sind Seitenleiste. Sie müssen über Root-Zugriff auf den Server verfügen, um diese Verfahren ausführen zu können. Wenn Sie einen verwalteten VPS oder verwalteten dedizierten Server haben (und keinen Root-Zugriff haben) und das Protokoll für langsame Abfragen aktivieren möchten, öffnen Sie bitte ein Ticket im Kundenportal unter https://my.a2hosting.com.

Aktivieren des Protokolls für langsame Abfragen

Langsame Abfragen können die Datenbankleistung und die Gesamtleistung des Servers beeinträchtigen. Mit der langsamen Abfrageprotokollfunktion in MySQL können Sie Abfragen protokollieren, die ein vordefiniertes Zeitlimit überschreiten. Dies vereinfacht die Suche nach ineffizienten oder zeitaufwändigen Abfragen erheblich.

Führen Sie die folgenden Schritte aus, um das Protokoll für langsame Abfragen in MySQL zu aktivieren:

  1. Melden Sie sich mit SSH bei Ihrem Server an.
  2. Geben Sie in der Befehlszeile den folgenden Befehl ein:
    mysql -u root -p
  3. Geben Sie das MySQL-Root-Passwort ein.
  4. Um das langsame Abfrageprotokoll zu aktivieren, geben Sie den folgenden Befehl an der mysql>-Eingabeaufforderung ein:

    SET GLOBAL slow_query_log = 'ON';
  5. Es gibt zusätzliche Optionen, die Sie für das langsame Abfrageprotokoll festlegen können:

    • Wenn das Protokoll für langsame Abfragen aktiviert ist, werden standardmäßig alle Abfragen protokolliert, deren Ausführung länger als 10 Sekunden dauert. Um dieses Intervall zu ändern, geben Sie den folgenden Befehl ein und ersetzen dabei X mit der Zeit in Sekunden:
      SET GLOBAL long_query_time = X;
    • Standardmäßig befindet sich die Protokolldatei für langsame Abfragen unter /var/lib/mysql/hostname-slow.log . Um den Protokollpfad oder Dateinamen zu ändern, geben Sie den folgenden Befehl ein und ersetzen dabei Pfad mit dem Pfad zur Datei und Dateiname mit dem Namen der Protokolldatei:

      SET GLOBAL slow_query_log_file = '/path/filename';
  6. Um zu überprüfen, ob das Protokoll für langsame Abfragen ordnungsgemäß funktioniert, melden Sie sich von mysql ab Programm und melden Sie sich dann wieder an. (Dadurch werden die Sitzungsvariablen für die mysql Programm.) Geben Sie den folgenden Befehl ein und ersetzen Sie dabei X mit einem Wert, der größer ist als long_query_time Einstellung:

    SELECT SLEEP(X);

    Die Protokolldatei für langsame Abfragen sollte Informationen über die Abfrage enthalten.

  7. Überwachen Sie weiterhin die Protokolldatei für langsame Abfragen, um zu sehen, welche Abfragen viel Zeit für die Ausführung benötigen.
  8. Wenn Sie mit der Fehlerbehebung fertig sind, deaktivieren Sie das Protokoll für langsame Abfragen. Führen Sie dazu mysql aus Programm erneut und geben Sie dann den folgenden Befehl ein:

    SET GLOBAL slow_query_log = 'OFF';
    Sie sollten das Protokoll für langsame Abfragen nur so lange aktivieren, wie es zur Behebung von Leistungsproblemen erforderlich ist.

Weitere Informationen

Weitere Informationen zum langsamen MySQL-Abfrageprotokoll finden Sie unter https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html.