Re: [LA-discussions] [TECH] Processes MySQL

[ Thread Index | Date Index | More linuxarverne.org/discussions Archives ]


Yann Cochard wrote:
Bonjour,

Savez-vous comment débugguer des requêtes MySQL ?
Je dois avoir une mauvaise requête qui reste plantée là, à attendre.
J'ai fais quelques recherches, pour trouver la commande "show
processlist". Puis "kill <id de la requete>".
Ça marche, mais je ne sais pas comment corriger la cause.

Ci-dessous un exemple. Il m'a suffit de tuer la requête la plus ancienne
pour que toutes les autres disparaissent.
La colonne "Info" ne donne que NULL et pas la requête causant ça :-/

Merci
Yann.


Bonsoir Yann !

Si c'était une *requête* (à proprement parler) qui était en attente alors tu n'aurais pas "Sleep" dans le colonne Command mais "Query" (comme pour "show process list"). Ce qui semble se passer, c'est qu'un processus ("un des programmes qui utilise une connexion à MySQL") oublie de faire un "commit" de sa transaction (tu es en autocommit ?) ou un "flush" du canal qui lui sert à communiquer avec MySQL, ce qui rend ce dernier méfiant quant à l'accomplissement des requêtes qui viennent ensuite. Dans quel environnement ce comportement a-t-il lieu ? Qui communique avec MySQL ? Comment sont gérées les transactions ? Y a-t-il un pooler qui se charge des connexions avec MySQL - et qui oublie d'en fermer de temps en temps - ?

  =^.^=


---
Liste de discussions de LinuxArverne
http://wiki.linuxarverne.org/listes_de_diffusion


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/