Come registrare tutte le query mysql nel file di registro?


17

Sto usando Mysql 5.6.12 in ambiente server Wamp. Ora voglio registrare tutte le query nel file ".log", le query che sono in esecuzione da PHP o da PHPMyAdmin, voglio registrarle ...

Risposte:


20
[mysqld]
# Set Slow Query Log
long_query_time = 1
slow_query_log = 1
slow_query_log_file = /usr/log/slowquery.log
log_queries_not_using_indexes = 1

#Set General Log
general_log = on
general_log_file=/usr/log/general.log

Nota che l'abilitazione general_logsu un server di produzione ha un sovraccarico che dovresti evitare. Puoi controllare le domande problematiche da slow log.


1
Per me, ho dovuto usare "general_log = 1" invece di "general_log = on".
GuyPaddock,

Ha funzionato su Wamp Server, usando mysql 5.6.7. L'unica cosa che dovevo cambiare erano i percorsi per tje file, nel mio caso, C: \ wamp \ logs \ mysql_query.log.
Mário Rodrigues,

Perché tutti questi valori di configurazione? Giusto general_loged general_log_fileè abbastanza.
laurent

8

Dato che questo è il tipo di cose che probabilmente vorresti fare solo temporaneamente, potrebbe essere utile farlo dalla shell invece che tramite il file di configurazione:

> set global general_log_file = "/var/log/mysql/queries.log";
> set global general_log = "ON";
[wait some time, hit some pages, whatever]
> set global general_log = "OFF";

5

Inserisci queste due righe in my.cnf.

[mysqld]

general_log     = on
general_log_file=/users/ugrad/linehanp/mydb/logfile.txt

Questo registrerà tutte le query sul server, da qualsiasi fonte, non solo PHP / PHPMyAdmin.

Attenzione però: l'abilitazione del registro generale può comportare un carico pesante sul server. Da usare con parsimonia solo per brevi periodi / debug.

La documentazione è disponibile qui . Fro là:

Per disabilitare o abilitare il registro delle query generali o modificare il nome del file di registro in fase di esecuzione, utilizzare le variabili di sistema globali general_log e general_log_file. Impostare general_log su 0 (o OFF) per disabilitare il registro o su 1 (o ON) per abilitarlo. Impostare general_log_file per specificare il nome del file di registro.

Così,

general_log     = on

e

general_log     = 1

sono sinonimi!


Per me, ho dovuto usare "general_log = 1" invece di "general_log = on".
GuyPaddock,

@GuyPaddock quale versione di MySQL stai usando?
Vérace,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.