Monitoring MySQL queries is a favorite pastime of MySQL administrators especially for performance reasons. Suivi des requêtes MySQL est un passe-temps favori de MySQL administrateurs en particulier pour des raisons de performance. Here is a simple bash script to monitor long running MySQL queries in realtime using the ubiquitous ’show processlist’. Voici un simple script bash pour surveiller le fonctionnement des requêtes MySQL en temps réel en utilisant l'omniprésent 'SHOW PROCESSLIST'. The best part about this script is that you can use it to log your queries over time for later evaluation. La meilleure partie, ce script est que vous pouvez l'utiliser pour vous connecter à vos questions au fil du temps pour une évaluation ultérieure.

 #!/bin/bash while [ 1 ] do         mysql -N -u root -p password -e 'show processlist' |grep -v 'show processlist'         sleep 2 done #! / bin / bash alors que [1]-N-mysql-u root-p password-e 'SHOW PROCESSLIST' | grep-v 'SHOW PROCESSLIST' faire dormir 2 

Note: Replace password with your actual password. Note: Remplacer le mot de passe avec votre mot de passe.
Note: -N removes column headers. Note:-N supprime en-têtes de colonnes.

This script excludes the show processlist thread itself. Ce script exclut le spectacle lui-même processlist thread. You may also exclude the Sleeping threads with the following modification: Vous mai également exclure le fils de couchage avec la modification suivante:
mysql -N -u root -p password -e ’show processlist’ | egrep -v ‘Sleep|show processlist’ mysql-N-u root-p password-e 'SHOW PROCESSLIST' | egrep-v 'Sleep | show processlist "

Note: This is not the only or best solution in market. Note: Ce n'est pas la seule ou la meilleure solution du marché. There is mtop script with more functionality but written in perl. Il est mtop script avec plus de fonctionnalités, mais écrit en perl. I am alergic to perl and also couldn’t get it working in my only attempt. Je suis alergic de perl et n'a pas pu faire fonctionner dans ma seule tentative. So here is a simple solution in bash. Donc, voici une solution simple en bash. Personally I don’t like hacking perl scripts. Personnellement, je n'aime pas le piratage des scripts perl.

Note: You can use slow query log too but in my experience a running top like display is better at finding bottlenecks. Note: Vous pouvez utiliser log des requêtes lentes mais trop d'après mon expérience, un haut fonctionnement comme écran est mieux à trouver des goulets d'étranglement. Slow query log doesn’t indicate why a query took long time. Log des requêtes lentes ne pas indiquer les raisons pour lesquelles une requête a pris beaucoup de temps. It could be because it was waiting on another query to complete. Il pourrait être parce qu'il attendait sur une autre requête à remplir.