Úvodná » ako » Monitorovať všetky SQL dopyty v MySQL

    Monitorovať všetky SQL dopyty v MySQL

    Microsoft SQL Server má nástroj s názvom Profiler, ktorý môžete použiť na sledovanie každého SQL dotazu, ktorý narazí na databázu. To je mimoriadne užitočné pre programátorov, ako aj administrátorov databáz na riešenie problémov s exaktnými dotazmi generovanými aplikáciou.

    Keď som často používal MySQL, bola to jedna z prvých vecí, ktorú som chcel zistiť, ako mám robiť. Ako inak môžete vidieť skutočný kód SQL vygenerovaný WordPress alebo phpBB?

    Prvá vec, ktorú musíme urobiť, je zapnutie zaznamenávania otázok v MySQL. Buďte varovaní, že by sa to malo robiť len vo vývoji ... skutočne to spomaľuje, aby sa zaznamenal každý dotaz do súboru.

    Nájdite a otvorte konfiguračný súbor MySQL, zvyčajne /etc/mysql/my.cnf na Ubuntu. Vyhľadajte sekciu s názvom "Prihlásenie a replikácia"

    #
    # * Prihlásenie a replikácia
    #
    # Obe umiestnenie sa otáča pomocou cronjob.
    # Uvedomte si, že tento typ denníka je výkonný vrah.

    log = /var/log/mysql/mysql.log

    Stačí odkomentovať premennú "log" na zapnutie protokolovania. Reštartujte MySQL pomocou tohto príkazu:

    sudo /etc/init.d/mysql restart

    Teraz sme pripravení začať sledovať dopyty pri ich príchode. Otvorte nový terminál a spustite tento príkaz na posúvanie súboru denníka a podľa potreby upravte cestu.

    tail -f /var/log/mysql/mysql.log

    Teraz spustite aplikáciu. Zobrazia sa databázové dotazy, ktoré začnú lietať vo vašom terminálovom okne. (uistite sa, že máte na termináli aktivované rolovanie a históriu)

    Som ohromený, phpbb3 má pomerne tesný a optimalizovaný kód SQL. WordPress je na druhej strane veľmi neúčinná.