Homepage » hogyan kell » Monitorozza az összes SQL lekérdezést a MySQL-ben

    Monitorozza az összes SQL lekérdezést a MySQL-ben

    A Microsoft SQL Server rendelkezik egy Profiler nevű eszközzel, amely segítségével minden SQL lekérdezést nyomon követhet az adatbázisba. Ez rendkívül hasznos a programozók és az adatbázis-adminisztrátorok számára az alkalmazás által generált pontos lekérdezések elhárításához.

    Miután a MySQL-t gyakran használta, ez volt az egyik első dolog, amit meg akartam találni. Hogyan láthatná a WordPress vagy a phpBB által generált tényleges SQL kódot?

    Az első dolog, amit meg kell tennünk, a lekérdezések naplózása a MySQL-ben. Figyelmeztetni kell, hogy ezt csak a fejlesztés során kell elvégezni… tényleg lassítja a dolgokat, hogy minden egyes lekérdezést egy fájlba naplózzon.

    Keresse meg és nyissa meg a MySQL konfigurációs fájlt, általában az /etc/mysql/my.cnf fájlt az Ubuntu-on. Keresse meg a „Naplózás és replikáció” című részt

    #
    # * Naplózás és replikáció
    #
    # Mindkét helyet a cronjob elforgatja.
    # Legyen tudatában annak, hogy ez a naplótípus teljesítménygyilkos.

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

    Csak hagyja ki a „napló” változót a naplózás bekapcsolásához. Indítsa újra a MySQL-t ezzel a paranccsal:

    sudo /etc/init.d/mysql újraindul

    Most már készen állunk arra, hogy elkezdjük nyomon követni a lekérdezéseket. Nyisson meg egy új terminált, és futtassa ezt a parancsot a naplófájl görgetéséhez, szükség esetén az útvonal beállításához.

    far -f /var/log/mysql/mysql.log

    Most futtassa az alkalmazást. Látni fogja, hogy az adatbázis lekérdezések a terminálablakban indulnak. (győződjön meg róla, hogy a terminálon görgetés és történelem engedélyezve van)

    Lenyűgözött, a phpbb3 meglehetősen szűk, optimalizált SQL kóddal rendelkezik. A WordPress viszont nagyon kevéssé hatékony.