Logy v MySQL zahŕňajú: chybové záznamy, binárne logy, všeobecné dotazy, pomalé dotazy a podobne. Tu sú dve bežne používané funkcie: všeobecný záznam dotazov a pomalý záznam dotazov.
1) Pomalé záznamy dotazov:Zaznamenávajte všetky dotazy, ktoré sa vykonávajú dlhšie ako long_query_time sekúnd alebo nepoužívajú indexy
2) Všeobecný záznam dotazov:Zaznamenávajte nadviazané a vykonané príkazy o kontaktoch klientov.
1: O pomalom dotaze MySQL:
Pomalý dotazovací záznam MySQL je druh logovania poskytovaný MySQL, ktorý sa používa na zaznamenávanie príkazov, pri ktorých ohlasový čas presahuje prah v MySQL, konkrétne odkazujúc na SQL s časom behu dlhším ako long_query_time hodnotou, ktorý sa zaznamenáva v pomalom dotazovom logu (logy môžu byť zapisované do súborov alebo databázových tabuliek, ak sú požiadavky na výkon vysoké, odporúča sa zapisovať súbory). V predvolenom nastavení databáza MySQL neumožňuje pomalé záznamy dotazov a predvolená hodnota long_query_time je 10 (t. j. 10 sekúnd, zvyčajne nastavených na 1 sekundu), teda príkazy bežiace dlhšie ako 10 sekúnd sú pomalé dotazovacie príkazy.
Vo všeobecnosti sa pomalé dotazy vyskytujú vo veľkých tabuľkách (napríklad tabuľka má milióny dát) a polia podmienok dopytu nie sú indexované, v tomto čase sa polia zodpovedajúce podmienkam dotazu prehľadávajú v celej tabuľke, čo vyžaduje určitý čas na kontrolu long_query_time.
Je to pomalý dotazovací príkaz.
Otázka: Ako môžem skontrolovať aktuálny stav otvorenia pomalého dotazovacieho záznamu?
Zadajte príkaz v MySQL:
Nasledujúce parametre sú hlavne zvládnuté:
(1) Hodnota slow_query_log je ZAPNUTÉ na zapnutie pomalého dotazovacieho záznamu a VYPNUTÉ znamená vypnutie pomalého dotazovacieho záznamu.
(2) Hodnota slow_query_log_file je zaznamenaný pomalý dotaz do súboru (poznámka: predvolený názov je hostname.log, či je pomalý dotazovací záznam zapísaný do špecifikovaného súboru, musíte špecifikovať formát výstupného logu pomalého dotazu ako súbor a súvisiaci príkaz je: zobraziť premenné ako '%log_output%'; aby ste videli formát výstupu).
(3) long_query_time špecifikuje prah pre pomalý dotaz, teda ak čas vykonávania prekročí tento prah, ide o príkaz pomalého dotazu a predvolená hodnota je 10 sekúnd.
(4) log_queries_not_using_indexes Ak je hodnota nastavená na ON, všetky dotazy, ktoré nevyužívajú index, budú zaznamenané (Poznámka: Ak je log_queries_not_using_indexes nastavený len na ON a slow_query_log na VYPNUTÉ, nastavenie v tomto momente nenadobudne účinok, teda nastavenie nadobudne účinok, ak je hodnota slow_query_log nastavená na ON) , ktorý je zvyčajne dočasne zapnutý pri ladení výkonu.
2. Všeobecný záznam dotazov
Ak hodnota general_log jeON je zapnutý, preOFF je zatvorený(Predvolene vypnuté).
Skontrolujte formát aktuálneho výstupu pomalého záznamu dotazov, ktorý môže byť FILE (hostname.log uložený v dátovom súbore v digitálnej databáze) alebo TABLE (mysql.general_log uložený v databáze)
(Poznámka: Vyššie uvedený príkaz je účinný len v súčasnosti, keď sú reštarty MySQL neplatné, ak chcete, aby sa natrvalo uplatnil, musíte nastaviť my.cnf)
Zobrazenie výstupu logu je nasledovné:
Súbor my.cnf je nakonfigurovaný nasledovne:
general_log=1 #为1表示开启通用日志查询 hodnota 0 znamená, že generický logaritmický dotaz je uzavretý
log_output=FILE,TABLE# Nastavuje výstupný formát všeobecného logu na súbor a tabuľku
|