Belirli bir sorgu için mysql bin günlüğünü sorgulamak mümkün mü? Örneğin, son bir saatte herhangi birinin belirli bir sorgulama yapıp yapmadığını öğrenmek istiyorum ('TableX Güncelleme userName =' bob '"gibi) Sadece belirli bir sorgunun yakın zamanda çalışıp çalışmadığını görmek istiyorum .....Sorgu için MySQL Bin Günlüğünü Arama
cevap
kullanın mysqlbinlog -. nix veya mysqlbinlog.exe - pencere
$bash>mysqlbinlog mysql_bin.log > mysql_bin.txt
Dönüşümden sonra sen mysql_bin.txt içinde DML arama yapabilirsiniz
Belki MySQL general query log size yardımcı olabilir
Aslında bunu zaten okudum ve sadece başlangıç ve bitiş zamanlarına göre arama gibi şeylerin seçeneklerini gördüm. Tüm çoklu gigabayt günlük kütüğünün diske yazılmasını ve daha sonra grep olması gerektiğinden umuyordum. – David
mysqlbinlog ${1} |grep -i 'update\|insert\|delete\|replace\|alter' | tr ‘[A-Z]’ ‘[a-z]’|sed -e '/*/d' | sort | uniq -c | sort -nr
Orijinal yayına bir açıklama sağlamayı düşünün. Bilgi biraz belirsiz olsa da, cevabınız biraz belirsizdir. Lütfen OP'ye bunun neden yardımcı olacağını açıklayın – nomistic
Aslında updat E bir sorgu değil. SELECT bir sorgudur. – DOK