28Jun
Hai un server database di produzione e non puoi abilitare la registrazione delle query. .. quindi come vedi le query eseguite sul database?
La risposta: utilizzare uno sniffer di rete modificato per analizzare i pacchetti MySQL e decodificarli. Dovrai fare una piccola compilazione, ma ne varrà la pena. Nota che questo di solito non funziona con le connessioni locali, anche se sei libero di provare.
Innanzitutto, è necessario installare libpcap-dev, che è la libreria di sviluppo che consente a un'applicazione di sniffare i pacchetti di rete.
sudo apt-get install libpcap-dev
Ora facciamo una directory, scarichiamo il codice sorgente e lo compiliamo
mkdir mysqlsniffer
cd mysqlsniffer
wget hackmysql.com /code/ mysqlsniffer.tgz
tar xvfz mysqlsniffer.tgz
gcc -O2 -lpcap-o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c
A questo punto, abbiamo un nuovo lucido eseguibile chiamato mysqlsniffer nella nostra directory dei sorgenti. Puoi copiarlo dove vuoi( da qualche parte nel percorso sarebbe utile)
Per eseguire mysqlsniffer, devi specificare l'interfaccia di rete su cui MySQL sta ascoltando. Per me, è eth0.
sudo /path/to/ mysqlsniffer eth0
I carichi di roba iniziano a volare. .. filtriamo un po 'di più in modo che possiamo ottenere solo le query e non tutti i dati in eccesso.
$ sudo /path/to/ mysqlsniffer -no-mysql-hdrs eth0 |grep COM_QUERY
192.168.73.1.2622 & gt;server: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;server: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;server: COM_QUERY: SET NAMES utf8
192.168.73.1.1636 & gt;server: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;server: COM_QUERY: MOSTRA COLONNE COMPLETE DA `db2842_howto`. wp_users`
Ah, ora ci sono. .. tutti i tipi di informazioni di query, senza dover riavviare MySQL.
Ecco le opzioni complete per il comando:
Utilizzo: mysqlsniffer [OPZIONI] INTERFACCIA OPZIONI
:
-port N Ascolta MySQL sul numero di porta N( predefinito 3306)
-verbose Mostra informazioni extra sui pacchetti
-tcp-ctrl Mostra TCPpacchetti di controllo( SYN, FIN, RST, ACK)
-net-hdrs Mostra i principali valori di intestazione IP e TCP
-no-mysql-hdrs Non mostra intestazione MySQL( ID pacchetto e lunghezza)
-stato Mostra stato
-v40 MySQLserver è versione 4.0
-dump Scarica tutti i pacchetti in hex
-help Stampa questo
Codice sorgente originale e ulteriori informazioni su:
http: //hackmysql.com/ mysqlsniffer
Se stai utilizzando un server di sviluppo, sarebbe più semplice attivare la queryregistrazione.