Mysql loggnivå

Mysql loggnivå
“Logging refererer til funksjonaliteten til å lagre poster over hendelser og operasjoner i en applikasjon. Logging er en av de mest grunnleggende feilsøkingsformene, da den lar applikasjonen lagre en rapport som beskriver hver instruksjon og prosess utført på et bestemt stadium. Dette kan på sin side hjelpe utviklere backtrack, på hvilket tidspunkt feilen oppstår og mer.”

Denne opplæringen vil utforske hvordan vi kan aktivere og konfigurere forskjellige loggnivåer i MySQL -serveren. Dette bestemmer hva og hvordan loggmeldingene opprettes i serveren.

MySQL -logging

Avhengig av MySQL -serveren installert og konfigurasjonen, vil MySQL opprette en loggfil av hendelsene på serveren.

Det er fem typer loggfiler som støttes i MySQL -serveren. Disse inkluderer:

  1. Feil logg - Denne loggfilen inneholder loggene til feilene som oppstår når du starter, kjører eller stopper MySQL -serveren.
  2. ISAM Log - Dette er en del av administrative loggnivåverktøy. Denne loggen inneholder alle modifikasjonene som er gjort i ISAM -tabellene.
  3. Spørringslogg - Som navnet sier, inneholder denne loggfilen postene til brukerforbindelser og utførte spørsmål.
  4. Binærlogg - Holder loggen over utsagnene som endrer serveren. MySqldbinlog -verktøyet håndterer denne loggingen.
  5. Langsom logg - Holder loggene på spørsmålene som overskrider parameterverdien Long_Query_Time.

MERK: Husk at noen av loggene omtalt ovenfor brukes i interne MySQL -operasjoner. Som vanlig bruker kan forskjellige MySQL -leverandører abstrahere forskjellige logger.

Vi trenger bare å kjenne feilloggen, generelle/spørringslogger og langsomme logger for denne opplæringen.

MySQL Aktiver logging

Før vi konfigurerer forskjellige loggnivåer i MySQL, må vi sørge for at loggingsfunksjonen er aktivert i MySQL -serveren.

Finn og rediger MySQL Config -filen fremst.

Husk at plasseringen av MySQL -konfigurasjonsfilen kan variere avhengig av systemkonfigurasjon, installasjonsmetode, operativsystem osv.

$ sudo nano/etc/mysql/min.CNF

I loggfilen, legg til oppføringene som vist:

[mysqld]
log_error =/var/log/mysql/feil.Logg
General_log_file =/var/log/mysql/mysql.Logg
General_log = 1
log_slow_queries =/var/log/mysql/mysql-sakte.Logg
long_query_time = 10

Konfigurasjonen ovenfor muliggjør feillogger, generelle logger og langsomme logger. I tillegg kan du endre plasseringen av loggfilene ved å spesifisere målveien i konfigurasjonen ovenfor.

Lagre endringene og fortsett å starte serveren på nytt.

I Windows kan du aktivere MySQL -logging ved å redigere MY.INI -fil med følgende alternativer.

Generell-log = 1
general_log_file = "mysql.Logg"
sakte-quog = 1
slow_query_log_file = "mysql-sakte.Logg"
long_query_time = 10
log-error = "mysql.feil "

Tilsvarende kan du endre banen og filnavnene på loggfilene etter din smak. Som standard vil MySQL lagre loggfilene i datakatalogen (bare Windows).

MySQL -loggingsnivåer

MySQL støtter opptil åtte hogstnivåer. Hvert nivå bestemmer detaljene som er inkludert i loggfilene og type meldinger.

Som standard vil MySQL -skallet kjøre på loggnivå 5. Dette inkluderer en feil, advarsler og informasjonsmeldinger.

Følgende er de støttede loggnivåene og hva hver enkelt innebærer.

Loggnivå (numerisk) Loggnivå Operasjon Verbositetsnivå
1 Ingen Logging deaktivert 0
2 Innvendig Intern feil 1
3 Feil Feil 1
4 Advarsel Advarsel 1
5 Info Informasjon 1
6 Feilsøking Feilsøking 2
7 Debug2 Debug2 3
8 Debug3 Debug3 4

Når du starter MySQL -skallet, kan du konfigurere verbositetsnivået ved hjelp av -verbose -parameteren.

  1. Verbositetsnivå 0 - Ingen meldinger vises.
  2. Nivå 1 - Intern feil, feil, advarsel og informasjonsmeldinger.
  3. Nivå 2 - Inkluderer alle nivå 1 -meldinger og feilsøkingsmeldinger.
  4. Nivå 3 - Legger til Debug2 -meldinger til nivå og nivå 2.
  5. Nivå 4 - Legger til Debug3 -meldinger. Disse inkluderer svært detaljerte loggmeldinger.

Spesifisere mysql loggnivå i skallet

For å spesifisere loggnivået du ønsker å bruke, kan vi bruke MySQLSH -kommandoen som vist:

mysqlsh--log-nivå = 6

Du kan spesifisere loggnivået som en numerisk verdi eller dens strengrepresentasjon som:

mysqlsh--log-level = debug

MERK: I Windows er MySQLSH -kommandoen lokalisert i “C: \ Program Files \ MySQL \ MySQL Shell 8.0 \ bin ”.

For å se gjeldende loggnivå, åpner du mysql -skallet:

$ mysqlsh

En gang i skallet, kjør kommandoen:

Mysql js> \ alternativ -l

Dette skal liste opp MySQL -skallalternativene, inkludert gjeldende loggnivå:

Lukking

Og det er det; Du har oppdaget hvordan du jobber med MySQL -loggingsalternativer. Husk at MySQL -loggalternativer er utvidet utover omfanget av denne opplæringen. Du kan sjekke dokumentene for mer.