Logy v MySQL zahrnují: chybové záznamy, binární logy, obecné dotazovací záznamy, pomalé dotazovací záznamy atd. Zde jsou dvě běžně používané funkce: obecný dotazovací záznam a pomalý dotazovací záznam.
1) Pomalé dotazovací záznamy:Zaznamenávejte všechny dotazy, které jsou vykonávány déle než long_query_time sekund nebo nepoužívají indexy
2) Obecný dotazovací záznam:Zaznamenávejte příkazy o navázání a provedení klientských spojení.
1: O pomalém dotazu MySQL:
Pomalý dotazovací log MySQL je druh logování poskytovaného MySQL, který slouží k zaznamenávání příkazů, že doba odezvy přesahuje práh v MySQL, konkrétně odkazující na SQL s délkou běhu větší než long_query_time hodnotu, která bude zaznamenána v pomalém dotazovacím logu (logy lze zapisovat do souborů nebo databázových tabulek, pokud jsou požadavky na výkon vysoké, doporučuje se zapisovat soubory). Ve výchozím nastavení databáze MySQL neumožňuje pomalé dotazovací záznamy a výchozí hodnota long_query_time je 10 (tj. 10 sekund, obvykle nastaveno na 1 sekundu), tedy příkazy běžící déle než 10 sekund jsou pomalé dotazovací příkazy.
Obecně platí, že pomalé dotazy se vyskytují ve velkých tabulkách (například tabulka má miliony dat) a pole podmínek dotazu nejsou indexována; v tomto okamžiku budou pole odpovídající podmínkám dotazu prohledána v celé tabulce, což zabere čas na kontrolu long_query_time.
Je to pomalé dotazovací příkaz.
Otázka: Jak mohu zkontrolovat aktuální stav otevření pomalého dotazovacího záznamu?
Zadejte příkaz do MySQL:
Následující parametry jsou hlavně zvládnuty:
(1) Hodnota slow_query_log je ZAPNUTO pro zapnutí pomalého dotazovacího záznamu a VYPNUTO znamená vypnutí pomalého dotazovacího záznamu.
(2) Hodnota slow_query_log_file je zaznamenaný pomalý dotazovací záznam do souboru (poznámka: výchozí název je hostname.log, ať už je pomalý dotazovací záznam zapsán do určeného souboru, je třeba zadat formát výstupního logu pomalého dotazu jako soubor a související příkaz je: zobrazit proměnné jako '%log_output%'; pro zobrazení formátu výstupu).
(3) long_query_time určuje práh pro pomalý dotaz, tedy pokud doba provedení překročí tento práh, jedná se o příkaz pomalého dotazu a výchozí hodnota je 10 sekund.
(4) log_queries_not_using_indexes Pokud je hodnota nastavena na ZAPNUTO, všechny dotazy, které index nevyužívají, budou zaznamenány (Poznámka: Pokud je log_queries_not_using_indexes nastaven pouze na ZAPNUTO a slow_query_log na VYPNUTO, nastavení v tuto chvíli nenanese účinnost, tj. nastavení najde účinnost, pokud je hodnota slow_query_log nastavena na ZAPNUTO) , který je obvykle dočasně zapnut, když je výkon naladěn.
2. Obecný dotazovací záznam
Pokud hodnota general_log jeON je zapnutý, proOFF je zavřeno(Vypnuto automaticky).
Zkontrolujte formát aktuálního výstupu pomalého dotazovacího záznamu, kterým může být FILE (hostname.log uložený v datovém souboru v digitální databázi) nebo TABLE (mysql.general_log uložený v databázi)
(Poznámka: Výše uvedený příkaz platí pouze v současnosti, kdy jsou restarty MySQL neplatné, pokud chcete, aby se trvale uplatnily, musíte nastavit my.cnf)
Vykreslení logu výstupu je následující:
Soubor my.cnf je konfigurován následovně:
general_log=1 #为1表示开启通用日志查询 hodnota 0 znamená, že generický logaritmický dotaz je uzavřen
log_output=FILE,TABLE# Nastavuje výstupní formát obecného logu na soubor a tabulku
|