Logger i MySQL inkluderer: feillogger, binære logger, generiske spørringslogger, trege spørringslogger, osv. Her er to vanlige funksjoner: generell spørringslogg og langsom spørringslogg.
1) Langsomme spørringslogger:Logg alle spørringer som kjøres i mer enn long_query_time sekunder eller som ikke bruker indekser
2) Generell spørringslogg:Registrer klientforbindelsene som er etablert og utført.
1: Om MySQL slow query:
MySQLS langsomme spørringslogg er en type logging levert av MySQL, som brukes til å registrere utsagn om at svartiden overstiger terskelen i MySQL, spesielt med henvisning til SQL med en kjøretid på mer enn long_query_time verdi, som vil bli registrert i den langsomme spørringsloggen (logger kan skrives til filer eller databasetabeller, hvis ytelseskravene er høye, anbefales det å skrive filer). Som standard aktiverer ikke MySQL-databasen trege spørringslogger, og standardverdien for long_query_time er 10 (dvs. 10 sekunder, vanligvis satt til 1 sekund), det vil si at setninger som kjører i mer enn 10 sekunder er trege spørringssetninger.
Generelt forekommer trege spørringer i store tabeller (for eksempel har en tabell millioner av data), og feltene i spørringsbetingelsene er ikke indeksert; på dette tidspunktet vil feltene som matcher spørringsbetingelsene bli skannet i hele tabellen, noe som tar tid å sjekke long_query_time.
Det er en treg spørringssetning.
Spørsmål: Hvordan kan jeg sjekke den nåværende åpningsstatusen til den langsomme spørringsloggen?
Skriv inn kommandoen i MySQL:
Følgende parametere er hovedsakelig mestret:
(1) Verdien av slow_query_log er PÅ for å aktivere den trege spørringsloggen, og AV er for å slå av den langsomme spørringsloggen.
(2) Verdien av slow_query_log_file er den registrerte langsomme spørringsloggen til filen (merk: standardnavnet er hostname.log, enten den langsomme spørringsloggen er skrevet til den angitte filen, må du spesifisere utdataloggformatet for den langsomme spørringen som fil, og den tilhørende kommandoen er: vis variabler som '%log_output%'; for å se formatet på utdataen).
(3) long_query_time spesifiserer terskelen for treg spørring, det vil si at hvis kjøretiden overstiger denne terskelen, er det en treg spørringssetning, og standardverdien er 10 sekunder.
(4) log_queries_not_using_indexes Hvis verdien settes til ON, vil alle forespørsler som ikke bruker indeksen bli registrert (Merk: Hvis log_queries_not_using_indexes kun settes til ON og slow_query_log er satt til OFF, vil ikke innstillingen tre i kraft nå, det vil si at innstillingen trer i kraft hvis verdien av slow_query_log settes til ON) , som vanligvis midlertidig slås på når forestillingen er justert.
2. Generell spørringslogg
Hvis verdien av general_log erON er på, forAV er lukket(Av som standard).
Sjekk formatet på den nåværende langsomme spørringsloggens utdata, som kan være FILE (en hostname.log lagret i en datafil i en digital database) eller en TABLE (mysql.general_log lagret i en database)
(Merk: Kommandoen ovenfor gjelder kun for øyeblikket, når MySQL-omstarter er ugyldige, hvis du vil at den skal tre i kraft permanent, må du konfigurere my.cnf)
Gjengivelsen av loggutgangen er som følger:
my.cnf-filen er konfigurert som følger:
general_log=1 #为1表示开启通用日志查询, en verdi på 0 indikerer at den generiske loggspørringen er lukket
log_output=FILE,TABLE# Setter utdataformatet til den generelle loggen til fil og tabell
|