1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

MySQL log slow query

Dieses Thema im Forum "FreeBSD - Anwendungen und Ports" wurde erstellt von bsd4ever, 4 Dezember 2017.

  1. bsd4ever

    bsd4ever New Member

    Registriert seit:
    28 Dezember 2013
    Beiträge:
    8
    Hallo,

    ich nutze mysqld 5.7.15-log und möchte da langsame Abfragen loggen.

    Mit

    slow_query_log_file=/var/db/mysql/slow-log-queries.log
    log-output=FILE
    log-queries-not-using-indexes
    long_query_time = 20

    in /usr/local/etc/mysql/my.cnf werden aber sehr viele, gefühlt alle Abfragen, die deutlich schneller sind, geloggt.
    Irgendwas funktioniert da nicht.. wo ist der Fehler? Ich hätte gerne nur Abfragen die wirklich langsam sind... ab 10 Sekunden..


    Viele Grüße
     
  2. mapet

    mapet Active OpenBSD User

    Registriert seit:
    5 Januar 2007
    Beiträge:
    1.466
    Ort:
    /Germany/Neuss
    Schau mal nach den variablen im laufenden Prozess, was er meint, welche Laufzeit er loggen soll.
     
  3. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.184
    Du nutzt log-queries-not-using-indexes:
    Ich würde das rausnehmen, da du ja nur an den "slow queries" interessiert bist. Desweiteren würde ich aus Gründen der Sauberkeit log-output=FILE rausnehmen - das ist nämlich der default-Wert.

    Hier alles zum Nachlesen: https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html

    Rob
     
  4. bsd4ever

    bsd4ever New Member

    Registriert seit:
    28 Dezember 2013
    Beiträge:
    8
    Hi, das mit den log-queries-not-using-indexes habe ich dann auch bemerkt und rausgenommen. Jetzt ist Ruhe.

    Wie checkt man die Variablen im laufenden Prozess?

    Grüße
     
  5. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.184
    Entweder mittels mysqladmin:
    Code:
    $ mysqadmin variables
    oder über SQL direkt:
    Code:
    # mysql
    mysql> show variables;
    
    Man kann die meisten dieser Variablen übrigens zur Laufzeit ändern:

    Code:
    # mysql
    mysql> set global slow_query_log=1;
    
    Wichtig ist dabei das global-Schlüsselwort, sonst wird die Variable nur für die Session gesetzt.

    Rob
     
    Zuletzt bearbeitet: 6 Dezember 2017 um 10:30 Uhr