Il Log Generale delle Query (General Query Log) è una registrazione delle query SQL ricevute da un client, oltre all'apertura e alla chiusura delle connessioni client.

Attivare il General Query Log

Il Log Generale delle Query non è attivo per default. Siccome contiene tutte le query che il server riceve, potrebbe crescere molto abbastanza in fretta. Se si desidera avere una registrazione delle istruzioni che modificano i dati, è possibile utilizzare il log binario.

Per attivare il Log Generale delle Query si usa l'opzione --general-log=1. La variabile di stato log_output determina in che modo l'output viene scritto, e può anche disabilitarlo. Se viene scritto su file, il nome del file è determinato dall'opzione --general_log_file=nome_file, per default nome_host.log, mentre la directory sarà la directory dei dati, a meno che non si specifichi un percorso assoluto.

Diversamente dal log binario, il Log Generale delle Query registra le istruzioni nello stesso ordine in cui esse vengono ricevute dal server, non necessariamente nell'ordine in cui sono eseguite.

Esempio di come indirizzare il log ai file

Per loggare tutte le query nel file queries.log. occorre aggiungere le righe sequenti al file my.cnf, nella datadir del server.

[[mysqld]]
general-log
general-log-file=queries.log
log-output=file

Un'altra possibilità è usare l'opzione log-basename, che fa sì che tutti i file di log (general log, replication logs, etc) inizino con un prefisso comune univoco. L'esempio seguente crea un file system.log.

[[mysqld]]
general-log
log-output=file
log-basename=system

Disabilitare il logging

Il superutente può disabilitare il logging per la connessione corrente impostando la variabile SQL_LOG_OFF a 0.

Vedi anche

Commenti

Sto caricando i commenti......