Je suis dans une situation particulière où je n'ai pas les autorisations nécessaires pour activer la journalisation, et je n'aurais pas les autorisations nécessaires pour voir les journaux s'ils étaient activés. Je n'ai pas pu ajouter de déclencheur, mais j'ai les permissions d'appeler show processlist. Alors, j'ai fait de mon mieux et j'ai trouvé ceci :
Créez un bash script appelé "showsqlprocesslist" :
#!/bin/bash
while [ 1 -le 1 ]
do
mysql --port=**** --protocol=tcp --password=**** --user=**** --host=**** -e "show processlist\G" | grep Info | grep -v processlist | grep -v "Info: NULL";
done
Exécuter le script :
./showsqlprocesslist > showsqlprocesslist.out &
Terminer la sortie :
tail -f showsqlprocesslist.out
Bingo bango. Même s'il n'est pas bridé, il n'a occupé que 2 à 4 % de l'unité centrale sur les ordinateurs sur lesquels je l'ai utilisé. J'espère que cela pourra aider quelqu'un.
0 votes
En fonction de la gravité du problème, je recommanderais vivement d'essayer MySql Proxy. Parce qu'il peut être placé sur le serveur d'application, a) il est évolutif, b) il n'a pas besoin d'affecter tout le trafic vers la base de données. Il est en "alpha", mais il existe depuis longtemps. dev.mysql.com/downloads/mysql-proxy
1 votes
J'ai reformulé cette question afin d'omettre toute référence aux outils. Je pense que cette question est tout à fait pertinente ici, car "exécutons-nous les requêtes que nous devrions exécuter ?" est une excellente première étape dans le débogage d'un problème lié à une base de données.
1 votes
Le proxy mysql @MaasSql n'est pas utile pour les développeurs php lorsqu'ils utilisent PDO car la requête et les valeurs ne sont liées qu'au serveur.