Lorsque j'émets une requête SHOW PROCESSLIST, seuls les 100 premiers caractères de la requête SQL en cours d'exécution sont renvoyés dans la colonne d'informations.
Est-il possible de modifier la configuration de Mysql ou d'émettre un autre type de demande pour voir la requête complète (les requêtes que je regarde sont plus longues que 100 caractères)
SHOW FULL PROCESSLIST
. Puis-je le rendre encore plus complet d'une manière ou d'une autre?SHOW FULL PROCESSLIST
besoin d'un point-virgule;
à la fin, non?Show Processlist récupère les informations d'une autre table. Voici comment vous pouvez extraire les données et regarder la colonne 'INFO' qui contient la requête entière:
Vous pouvez ajouter n'importe quelle condition ou ignorer en fonction de vos besoins.
La sortie de la requête est le résultat:
la source
COMMIT
. Savez-vous comment afficher plus de détails sur la requête réelle?Je viens de lire dans la documentation MySQL qui
SHOW FULL PROCESSLIST
par défaut ne répertorie que les threads de votre connexion utilisateur actuelle .Citation de la documentation MySQL SHOW FULL PROCESSLIST:
Vous pouvez donc activer la
Process_priv
colonne dans votremysql.user
table. N'oubliez pas d'exécuterFLUSH PRIVILEGES
ensuite :)la source
Voir la requête complète de SHOW PROCESSLIST:
Ou
la source
Si l'on veut continuer à obtenir des processus mis à jour (dans l'exemple, 2 secondes) sur une session shell sans avoir à interagir manuellement avec elle, utilisez:
La seule mauvaise chose à propos de la,
show [full] processlist
c'est que vous ne pouvez pas filtrer le résultat de sortie. D'un autre côté, émettre lesSELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
possibilités ouvertes pour supprimer de la sortie tout ce que vous ne voulez pas voir:la source