Skip to main content

Monitora tutte le query SQL in MySQL

Monitora tutte le query SQL in MySQL

Geoffrey Carr

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 puoi 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"

## * Logging and Replication## Both location gets rotated by the cronjob.# Be aware that this log type is a performance killer.

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 domande non 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.

Link
Plus
Send
Send
Pin