Hjemmeside » hvordan » Overvåk alle SQL-spørringer i MySQL

    Overvåk alle SQL-spørringer i MySQL

    Microsofts SQL Server har et verktøy kalt Profiler som du kan bruke til å overvåke hvert SQL-spørring som treffer databasen. Dette er ekstremt nyttig for programmerere og databaseadministratorer for å feilsøke de eksakte spørringene som genereres av et program.

    Etter å ha byttet til bruk av MySQL på hyppig basis, var dette en av de første tingene jeg ønsket å finne ut hvordan jeg skulle gjøre. Hvordan kan du ellers se den faktiske SQL-koden generert av WordPress eller phpBB?

    Det første vi må gjøre er å slå på logg av søk i MySQL. Vær advart om at dette bare skal gjøres i utvikling ... det virkelig bremser ting ned for å logge hver enkelt spørring til en fil.

    Finn og åpne MySQL-konfigurasjonsfilen, vanligvis /etc/mysql/my.cnf på Ubuntu. Se etter delen som sier "Logging and Replication"

    #
    # * Logging og replikering
    #
    # Begge plassering blir rotert av cronjob.
    # Vær oppmerksom på at denne logg typen er en ytelse morder.

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

    Bare uncomment "loggen" variabelen for å slå på logging. Start MySQL på nytt med denne kommandoen:

    sudo /etc/init.d/mysql restart

    Nå er vi klare til å begynne å overvåke spørringene når de kommer inn. Åpne en ny terminal og kjør denne kommandoen for å bla loggfilen, juster banen hvis nødvendig.

    hale -f /var/log/mysql/mysql.log

    Kjør nå din søknad. Du vil se databasespørsmålene begynne å flyr i ditt terminalvindu. (sørg for at du har rulling og historikk aktivert på terminalen)

    Jeg er imponert, phpbb3 har ganske tett, optimalisert SQL-kode. WordPress, derimot, er svært ineffektiv.