A MySQL-ben található naplók közé tartoznak: hibanaplók, bináris naplók, általános lekérdezési naplók, lassú lekérdezési naplók stb. Itt két leggyakrabban használt funkció: általános lekérdezési napló és lassú lekérdezési napló.
1) Lassú lekérdezési naplók:Naplózza az összes olyan lekérdezést, amely több mint long_query_time másodpercig teljesített, vagy nem használ indexeket
2) Általános lekérdezési napló:Jegyezze fel az ügyfélkapcsolatokat, a létrehozott és végrehajtott utasításokat.
1: A MySQL lassú lekérdezésről:
A MySQL lassú lekérdezési naplója egyfajta naplózás, amelyet a MySQL biztosít, és arra használják, hogy olyan állításokat rögzítsenek, amelyek szerint a válaszidő meghaladja a MySQL küszöbértékét, különösen az SQL futási ideje több mint long_query_time értékre, és amelyet a lassú lekérdezési naplóban rögzítenek (naplók fájlokba vagy adatbázistáblákba írhatók, ha a teljesítményigények magasak, ajánlott fájlokat írni). Alapértelmezés szerint a MySQL adatbázis nem engedélyezi a lassú lekérdezési naplókat, és a long_query_time alapértelmezett értéke 10 (azaz 10 másodperc, általában 1 másodpercre állítva), vagyis azok az utasítások, amelyek 10 másodpercnél tovább futnak, lassú lekérdezési utasítások.
Általánosságban elmondható, hogy lassú lekérdezések nagy táblákban fordulnak elő (például egy táblázat milliós adatot tartalmaz), és a lekérdezési feltételek mezői nincsenek indexelve, ekkor a lekérdezési feltételekhez illeszkedő mezőket az egész táblázatban beolvasztuk, ami időt vesz igénybe a long_query_time ellenőrzéséhez.
Ez egy lassú lekérdezési állítás.
Kérdés: Hogyan ellenőrizhetem a lassú lekérdezési napló jelenlegi nyitási állapotát?
Adja be a parancsot a MySQL-ben:
A következő paramétereket főként elsajátítjuk:
(1) Az slow_query_log értéke BEKAPCSOLVA a lassú lekérdezési napló bekapcsolásához, KIKAPCSOLVA pedig a lassú lekérdezési napló kikapcsolásához.
(2) Az slow_query_log_file értéke a fájlhoz rögzített lassú lekérdezési napló (megjegyzés: az alapértelmezett név hostname.log, függetlenül attól, hogy a lassú lekérdezési napló a megadott fájlba van írva, meg kell határoznod a lassú lekérdezés kimeneti napló formátumát fájlként, és a kapcsolódó parancs: változzon meg, mint '%log_output%'; a kimenet formátumának megtekintéséhez).
(3) long_query_time megadja a lassú lekérdezés küszöbértékét, vagyis ha a végrehajtási idő meghaladja ezt a küszöböt, akkor az egy lassú lekérdezési utasítás, és az alapértelmezett érték 10 másodperc.
(4) log_queries_not_using_indexes Ha az értéket ON-ra állítják, minden olyan lekérdezés, amely nem használja az indexet, rögzítve kerül (Megjegyzés: Ha a log_queries_not_using_indexes csak ON-ra van állítva, a slow_query_log pedig OFF-ra, akkor a beállítás nem lép életbe, vagyis a beállítás akkor lép életbe, ha az slow_query_log értéke ON-ra van állítva) , amit általában ideiglenesen bekapcsolnak, amikor a teljesítmény hangolt meg.
2. Általános lekérdezési napló
Ha general_log értéke a következőképpenAz ON bekapcsol, forAz OFF zárva van(Alapértelmezettnél ki van kapcsolva).
Ellenőrizd a jelenlegi lassú lekérdezésnapló formátumát, amely lehet FILE (egy hostname.log, amelyet egy digitális adatbázisban tárolt adatfájlban) vagy TABLE (mysql.general_log adatbázisban tárolva)
(Megjegyzés: A fenti parancs csak jelenleg érvényes, amikor a MySQL újraindítása érvénytelen, ha véglegesen hatni, konfigurálni kell a my.cnf-et.)
A napló kimenetének renderelése a következő:
a my.cnf fájl a következőképpen van konfigurálva:
general_log=1 #为1表示开启通用日志查询 0 érték azt jelzi, hogy a generikus napló lekérdezés zárva van
log_output=FILE,TABLE# A napló output formátumát file és tábla formátumra állítja be
|