2010-10-08 20 views
5

È possibile interrogare il registro mysql bin per una query particolare? Ad esempio, supponiamo di voler sapere se qualcuno nell'ultima ora ha fatto una query specifica (come 'Aggiorna tabellaX dove userName =' bob '"). Voglio solo vedere se una particolare query è stata eseguita di recente .....Ricerca registro MySQL Bin per una query

+1

in realtà, UPDAT E non è una domanda. SELECT è una query. – DOK

risposta

6

Usa mysqlbinlog -. nix o mysqlbinlog.exe - finestre

$bash>mysqlbinlog mysql_bin.log > mysql_bin.txt 

Dopo la conversione È possibile cercare DML in mysql_bin.txt

0

Forse MySQL general query log può aiutare a

+0

In realtà l'ho già letto e ho visto solo le opzioni per cose come la ricerca per ora di inizio e di fine. Speravo di evitare di scrivere l'intero log del bin multi-gigabyte su disco e poi doverlo fare a grep. – David

1
mysqlbinlog ${1} |grep -i 'update\|insert\|delete\|replace\|alter' | tr ‘[A-Z]’ ‘[a-z]’|sed -e '/*/d' | sort | uniq -c | sort -nr 
+2

Considera di fornire una spiegazione al post originale. Mentre le informazioni potrebbero essere un po 'vaghe, la tua risposta è un po' oscura. Per favore, spiega all'OP perché questo aiuterà – nomistic