Homepage » come » Monitora tutte le query SQL in MySQL

    Monitora tutte le query SQL in MySQL

    Microsoft SQL Server ha uno strumento chiamato Profiler che è possibile utilizzare per monitorare ogni query SQL che colpisce il database. Questo è estremamente utile per i programmatori e gli amministratori di database per risolvere le query esatte generate da un'applicazione.

    Dopo aver passato a MySQL con frequenza, questa è stata una delle prime cose che volevo capire come fare. In quale altro modo è possibile vedere il codice SQL generato da WordPress o phpBB?

    La prima cosa che dovremo fare è attivare la registrazione delle query in MySQL. Tieni presente che questo dovrebbe essere fatto solo nello sviluppo ... rallenta davvero le cose per registrare ogni singola query in un file.

    Trova e apri il tuo file di configurazione MySQL, solitamente /etc/mysql/my.cnf su Ubuntu. Cerca la sezione "Registrazione e replica"

    #
    # * Registrazione e replica
    #
    # Entrambe le posizioni vengono ruotate dal cronjob.
    # Tieni presente che questo tipo di registro è un killer delle prestazioni.

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

    Basta decommentare la variabile "log" per attivare la registrazione. Riavvia MySQL con questo comando:

    sudo /etc/init.d/mysql restart

    Ora siamo pronti per iniziare a monitorare le query appena arrivano. Aprire un nuovo terminale ed eseguire questo comando per scorrere il file di registro, regolando il percorso se necessario.

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

    Ora esegui la tua applicazione. Vedrai le query del database che iniziano a volare nella finestra del terminale. (assicurati di avere lo scorrimento e la cronologia abilitata sul terminale)

    Sono impressionato, phpbb3 ha codice SQL abbastanza stretto e ottimizzato. WordPress, d'altra parte, è molto inefficiente.