MySQL:n lokit sisältävät: virhelokit, binäärilokit, yleiset kyselylokit, hitaita kyselylokit jne. Tässä on kaksi yleisesti käytettyä toimintoa: yleinen kyselyloki ja hidas kyselyloki.
1) Hitaat kyselylokit:Kirjaa kaikki kyselyt, jotka suoritetaan yli long_query_time sekuntia tai jotka eivät käytä indeksejä
2) Yleinen kyselyloki:Kirjaa ylös asiakasyhteydet, jotka on muodostettu ja suoritettu.
1: Tietoa MySQL:n hitaasta kyselystä:
MySQL:n hidas kyselyloki on eräänlainen MySQL:n tarjoama lokitus, jota käytetään kirjaamaan lauseita, joiden mukaan vasteaika ylittää MySQL:n kynnyksen, erityisesti SQL:ään, jonka suoritusaika on yli long_query_time arvo ja joka tallennetaan hitaaseen kyselylokiin (lokit voidaan kirjoittaa tiedostoihin tai tietokantatauluihin, ja jos suorituskykyvaatimukset ovat korkeat, on suositeltavaa kirjoittaa tiedostoja). Oletuksena MySQL-tietokanta ei salli hitaita kyselylokeja, ja long_query_time:n oletusarvo on 10 (eli 10 sekuntia, yleensä asetettu 1 sekunniksi), eli yli 10 sekuntia ajavat lauseet ovat hitaita kyselylauseita.
Yleisesti ottaen hitaita kyselyjä esiintyy suurissa taulukoissa (esimerkiksi taulukossa on miljoonia dataa), eikä kyselyehtojen kenttiä indeksoida, jolloin kyselyehtoja vastaavat kentät skannataan koko taulukossa, mikä vie aikaa tarkistaa long_query_time.
Se on hidas kyselylause.
Kysymys: Miten voin tarkistaa hitaan kyselylokin nykyisen avautumistilanteen?
Syötä komento MySQL:ään:
Seuraavia parametreja hallitaan pääasiassa:
(1) slow_query_log:n arvo on päällä hitaiden kyselylokien kytkemiseksi päälle, ja POIS on hitaiden kyselylokien sammuttamiseksi.
(2) slow_query_log_file:n arvo on tiedostoon tallennettu hidas kyselyloki (huom: oletusnimi on hostname.log, kirjoitetaanko hidas kyselyloki määritettyyn tiedostoon, sinun täytyy määrittää hitaan kyselyn ulostulolokin muoto tiedostona, ja siihen liittyvä komento on: näytä muuttujat kuten '%log_output%'; nähdäksesi ulostulon muodon).
(3) long_query_time määrittelee hitaan kyselyn kynnyksen, eli jos suoritusaika ylittää tämän kynnyksen, kyseessä on hidas kyselylause, ja oletusarvo on 10 sekuntia.
(4) log_queries_not_using_indexes Jos arvo asetetaan ON:ksi, kaikki kyselyt, jotka eivät käytä indeksiä, tallennetaan (Huomautus: Jos log_queries_not_using_indexes on asetettu vain ON ja slow_query_log POIS, asetus ei astu voimaan tällä hetkellä, eli asetus astuu voimaan, jos slow_query_log:n arvo on ON) , joka yleensä kytketään tilapäisesti päälle, kun suorituskyky on viritetty.
2. Yleinen kyselyloki
Jos general_log:n arvo onON päällä, forOFF on suljettu(Oletuksena pois päältä).
Tarkista nykyisen hitaan kyselylokin tulosteen muoto, joka voi olla FILE (hostname.log tallennettu tietotiedostoon digitaalisessa tietokannassa) tai TABLE (mysql.general_log tallennettuna tietokantaan)
(Huomautus: Yllä oleva komento on voimassa vain tällä hetkellä, kun MySQL:n uudelleenkäynnistykset ovat virheellisiä ja jos haluat sen pysyvän voimassa, sinun täytyy konfiguroida my.cnf)
Logaritmin tulostuksen renderöinti on seuraava:
my.cnf-tiedosto on konfiguroitu seuraavasti:
general_log=1 #为1表示开启通用日志查询, arvo 0 tarkoittaa, että yleinen lokikysely on suljettu
log_output=FILE,TABLE# Asettaa yleisen lokin ulostulomuodon tiedostoksi ja tauluksi
|