Il peut être intéressant dans certains cas de connaître le type de requêtes et sur quelles tables elles sont exécutées.
Voici donc une méthode qui vous donnera le nombre de requêtes par type et par table.
1/ Générer un fichier lisible à partir du log binaire
Lancer la commande suivante (sous Windows, mais la procédure est la même sous linux) :
"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqlbinlog.exe" le_fichier_de_log_binaire > le_fichier_en_clair
2/ Lancer la génération du rapport
Cette étape se fait sous Linux. Il faut donc récupérer le fichier généré ci-dessus.
Pour se simplifier la vie, nous allons créer un script binlog-report.sh qui sera réutilisable par la suite :
#!/bin/sh
grep -i -e "^update" -e "^insert" -e "^delete" -e "^replace" -e "^alter" ${1} | cut -c1-100 | tr '[A-Z]' '[a-z]' | sed -e "s/\t/ /g;s/\`//g;s/(.*$//;s/ set .*$//;s/ as .*$//" | sed -e "s/ where .*$//" | sort | uniq -c | sort -nr
N'oubliez pas de donner les droits d'exécution sur ce script :
chmod +x binlog-report.sh
Il ne reste plus qu'à lancer le script en passant notre fichier en paramètre :
./binlog-report.sh le_fichier_en_clair
On obtient alors un rapport ressemblant à ceci :
1200 insert table1
600 insert table2
400 update table1
50 delete table3
...
Remarque
La génération du fichier intermédiaire peut être omise sous Linux comme on le voit sur le lien ci après : http://oksoft.blogspot.fr/2010/08/extracting-queries-from-binary-files.html
J'ai dû en passer par là car mysqlbinlog sous Linux ne semble pas apprécier les fichier Windows.