sql >> Database teknologi >  >> RDS >> Mysql

Sådan aktiveres den langsomme forespørgselslog i MySQL

Denne artikel beskriver, hvordan du aktiverer MySQL langsomme forespørgselslog. Du kan bruge den langsomme forespørgselslog til at afgøre, hvilke databaseforespørgsler der tager lang tid at køre.

Denne artikel gælder kun for produkter, der er angivet i Artikeldetaljer sidebjælke. Du skal have root-adgang til serveren for at følge disse procedurer. Hvis du har en Managed VPS eller Managed Dedicated Server (og ikke har root-adgang) og ønsker at aktivere den langsomme forespørgselslog, skal du åbne en billet på kundeportalen på https://my.a2hosting.com.

Aktivering af den langsomme forespørgselslog

Langsomme forespørgsler kan påvirke databasens ydeevne og serverens overordnede ydeevne. Den langsomme forespørgselslogfunktion i MySQL giver dig mulighed for at logge forespørgsler, der overskrider en foruddefineret tidsgrænse. Dette forenkler i høj grad opgaven med at finde ineffektive eller tidskrævende forespørgsler.

Følg disse trin for at aktivere den langsomme forespørgselslog i MySQL:

  1. Log ind på din server ved hjælp af SSH.
  2. På kommandolinjen skal du skrive følgende kommando:
    mysql -u root -p
  3. Skriv MySQL root-adgangskoden.
  4. For at aktivere den langsomme forespørgselslog skal du skrive følgende kommando ved mysql>-prompten:

    SET GLOBAL slow_query_log = 'ON';
  5. Der er yderligere muligheder, som du kan indstille for den langsomme forespørgselslog:

    • Når den langsomme forespørgselslog er aktiveret, logger den som standard enhver forespørgsel, der tager længere end 10 sekunder at køre. For at ændre dette interval skal du skrive følgende kommando og erstatte X med tiden i sekunder:
      SET GLOBAL long_query_time = X;
    • Som standard er den langsomme forespørgselslogfil placeret på /var/lib/mysql/hostname-slow.log . For at ændre logstien eller filnavnet skal du skrive følgende kommando og erstatte sti med stien til filen og filnavn med navnet på logfilnavnet:

      SET GLOBAL slow_query_log_file = '/path/filename';
  6. For at bekræfte, at den langsomme forespørgselslog fungerer korrekt, skal du logge ud af mysql program, og log derefter ind igen. (Dette genindlæser sessionsvariablerne for mysql program.) Indtast følgende kommando, og erstatte X med en værdi, der er større end long_query_time indstilling:

    SELECT SLEEP(X);

    Den langsomme forespørgselslogfil bør indeholde oplysninger om forespørgslen.

  7. Fortsæt med at overvåge den langsomme forespørgselslogfil for at se, hvilke forespørgsler der tager lang tid at køre.
  8. Når du er færdig med fejlfindingen, skal du deaktivere den langsomme forespørgselslog. For at gøre dette skal du køre mysql program igen, og skriv derefter følgende kommando:

    SET GLOBAL slow_query_log = 'OFF';
    Du bør kun aktivere den langsomme forespørgselslog, så længe det er nødvendigt for at fejlfinde ydeevneproblemer.

Flere oplysninger

For mere information om MySQL langsomme forespørgselslog, besøg venligst https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html.


  1. Kan ikke indsætte eksplicit værdi for identitetskolonnen i tabellen "tabel", når IDENTITY_INSERT er indstillet til FRA

  2. Test for nul i funktion med varierende parametre

  3. Svarer til unpivot() i PostgreSQL

  4. Hvordan får jeg det aktuelle tidszonenavn i Postgres 9.3?