Startpagina » hoe » Bewaak alle SQL-query's in MySQL

    Bewaak alle SQL-query's in MySQL

    Microsoft SQL Server heeft een tool genaamd Profiler die u kunt gebruiken om elke SQL-query die de database raakt te bewaken. Dit is uiterst nuttig voor zowel programmeurs als databasebeheerders om problemen op te lossen met de exacte query's die door een toepassing worden gegenereerd.

    Omdat ik regelmatig op MySQL was overgestapt, was dit een van de eerste dingen die ik wilde bedenken. Hoe kun je anders de werkelijke SQL-code zien die wordt gegenereerd door WordPress of phpBB?

    Het eerste wat we moeten doen is het loggen van zoekopdrachten in MySQL inschakelen. Wees gewaarschuwd dat dit alleen in de ontwikkeling gedaan moet worden ... het vertraagt ​​echt dingen om elke afzonderlijke zoekopdracht in een bestand te loggen.

    Zoek en open uw MySQL-configuratiebestand, meestal /etc/mysql/my.cnf op Ubuntu. Zoek naar het gedeelte met de tekst "Logging and Replication"

    #
    # * Logging en replicatie
    #
    # Beide locatie wordt geroteerd door de cronjob.
    # Houd er rekening mee dat dit type log een prestatiekiller is.

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

    Noteer gewoon de "log" -variabele om loggen in te schakelen. Start MySQL opnieuw met deze opdracht:

    sudo /etc/init.d/mysql opnieuw opstarten

    Nu zijn we klaar om te beginnen met het monitoren van de vragen wanneer ze binnenkomen. Open een nieuwe terminal en voer deze opdracht uit om door het logbestand te bladeren, zo nodig het pad aan te passen.

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

    Voer nu uw applicatie uit. U zult zien dat de databasequery's voorbijvliegen in uw terminalvenster. (zorg ervoor dat scrollen en de geschiedenis zijn ingeschakeld op de terminal)

    Ik ben onder de indruk, phpbb3 heeft vrij strakke, geoptimaliseerde SQL-code. WordPress daarentegen is erg inefficiënt.