Den här artikeln beskriver hur du aktiverar MySQL långsamma frågelogg. Du kan använda den långsamma frågeloggen för att avgöra vilka databasfrågor som tar lång tid att köra.
Den här artikeln gäller endast produkter som anges i Artikelinformation sidofältet. Du måste ha root-åtkomst till servern för att följa dessa procedurer. Om du har en Managed VPS eller Managed Dedicated Server (och inte har root-åtkomst) och vill aktivera den långsamma frågeloggen, öppna en biljett på kundportalen på https://my.a2hosting.com.Aktivera den långsamma frågeloggen
Långsamma frågor kan påverka databasprestanda och serverns övergripande prestanda. Funktionen för långsam frågelogg i MySQL gör att du kan logga frågor som överskrider en fördefinierad tidsgräns. Detta förenklar avsevärt uppgiften att hitta ineffektiva eller tidskrävande frågor.
För att aktivera den långsamma frågeloggen i MySQL, följ dessa steg:
- Logga in på din server med SSH.
- På kommandoraden skriver du följande kommando:
mysql -u root -p
- Skriv MySQL root-lösenordet.
-
För att aktivera den långsamma frågeloggen, skriv följande kommando vid mysql>-prompten:
SET GLOBAL slow_query_log = 'ON';
-
Det finns ytterligare alternativ som du kan ställa in för den långsamma frågeloggen:
- Som standard, när den långsamma frågeloggen är aktiverad loggar den alla frågor som tar längre tid än 10 sekunder att köra. För att ändra detta intervall, skriv följande kommando och ersätt X med tiden i sekunder:
SET GLOBAL long_query_time = X;
-
Som standard finns den långsamma frågeloggfilen på /var/lib/mysql/hostname-slow.log . För att ändra loggsökvägen eller filnamnet, skriv följande kommando och ersätter sökväg med sökvägen till filen och filnamn med namnet på loggfilens namn:
SET GLOBAL slow_query_log_file = '/path/filename';
- Som standard, när den långsamma frågeloggen är aktiverad loggar den alla frågor som tar längre tid än 10 sekunder att köra. För att ändra detta intervall, skriv följande kommando och ersätt X med tiden i sekunder:
-
För att verifiera att den långsamma frågeloggen fungerar korrekt loggar du ut från mysql program och logga sedan in igen. (Detta laddar om sessionsvariablerna för mysql program.) Skriv följande kommando och ersätt X med ett värde som är större än long_query_time miljö:
SELECT SLEEP(X);
Den långsamma frågeloggfilen bör innehålla information om frågan.
- Fortsätt att övervaka den långsamma frågeloggfilen för att se vilka frågor som tar lång tid att köra.
-
När du är klar med felsökningen inaktiverar du den långsamma frågeloggen. För att göra detta, kör mysql program igen och skriv sedan följande kommando:
SET GLOBAL slow_query_log = 'OFF';
Du bör bara aktivera den långsamma frågeloggen så länge det är nödvändigt för att felsöka prestandaproblem.
Mer information
För mer information om MySQL långsamma frågelogg, besök https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html.