Loggar i MySQL inkluderar: felloggar, binära loggar, generiska fråge-loggar, långsamma frågeloggar, etc. Här är två vanligt använda funktioner: allmän frågelogg och långsam frågelogg.
1) Långsamma frågeloggar:Logga alla frågor som körs i mer än long_query_time sekunder eller som inte använder index
2) Allmän frågejournal:Spela in de klientkontakter som upprättats och utförts satser.
1: Om MySQL långsam fråga:
MySQLS långsamma frågelogg är en typ av loggning som tillhandahålls av MySQL, och används för att registrera uttalanden om att svarstiden överskrider tröskeln i MySQL, specifikt med avseende på SQL med en körtid på mer än long_query_time värde, vilket kommer att registreras i den långsamma frågeloggen (loggar kan skrivas till filer eller databastabeller, om prestandakraven är höga rekommenderas det att skriva filer). Som standard aktiverar inte MySQL-databasen långsamma frågeloggar, och standardvärdet för long_query_time är 10 (dvs. 10 sekunder, vanligtvis inställt på 1 sekund), det vill säga satser som körs i mer än 10 sekunder är långsamma frågesatser.
Generellt sett sker långsamma frågor i stora tabeller (till exempel har en tabell miljontals data), och fälten i frågevillkoren indexeras inte, men för närvarande kommer fälten som matchar frågevillkoren att skannas i hela tabellen, vilket tar tid att kontrollera long_query_time.
Det är en långsam frågesats.
Fråga: Hur kan jag kontrollera den aktuella öppningsstatusen för loggen för den långsamma frågeloggen?
Ange kommandot i MySQL:
Följande parametrar är huvudsakligen behärskade:
(1) Värdet slow_query_log är PÅ för att slå på den långsamma frågeloggen, och AV är för att stänga av den långsamma frågeloggen.
(2) Värdet av slow_query_log_file är den inspelade långsamma frågeloggen till filen (notera: standardnamnet är hostname.log, oavsett om den långsamma frågeloggen är skriven till den angivna filen måste du specificera utdataloggformatet för den långsamma frågan som fil, och det relaterade kommandot är: visa variabler som '%log_output%'; för att se formatet på utdatan).
(3) long_query_time specificerar tröskeln för långsam sökning, det vill säga om exekveringstiden överskrider denna tröskel är det en långsam frågesats, och standardvärdet är 10 sekunder.
(4) log_queries_not_using_indexes Om värdet sätts till ON kommer alla frågor som inte använder indexet att registreras (Observera: Om log_queries_not_using_indexes endast är satt till ON och slow_query_log är satt till OFF, kommer inställningen inte att gälla vid denna tidpunkt, det vill säga inställningen träder i kraft om värdet på slow_query_log sätts till ON) , som vanligtvis tillfälligt slås på när framförandet är inställt.
2. Allmän förfrågningslogg
Om värdet av general_log ärON är på, förOFF är stängt(Avstängd som standard).
Kontrollera formatet på den aktuella långsamma förfrågningsloggens utdata, som kan vara FILE (en hostname.log lagrad i en datafil i en digital databas) eller en TABLE (mysql.general_log lagrad i en databas)
(Obs: Ovanstående kommando gäller endast för just nu, när MySQL-omstarter är ogiltiga, om du vill att det ska träda i kraft permanent måste du konfigurera my.cnf)
Renderingen av loggutmatningen är följande:
My.CNF-filen är konfigurerad enligt följande:
general_log=1 #为1表示开启通用日志查询, ett värde 0 indikerar att den generiska loggförfrågan är stängd
log_output=FILE,TABLE# Sätter utdataformatet för den allmänna loggen till fil och tabell
|