@DTest - cela peut-il être fait avec une requête? Je n'ai pas d'accès direct au serveur.
JIStone
C'est une question qui peut être utile pour d'autres développeurs et DBA (+1) !!!
RolandoMySQLDBA
Réponses:
15
Depuis la ligne de commande Linux
for PROC_TO_KILL in`mysql -h...-u...-p...-A --skip-column-names -e"SHOW PROCESSLIST" | grep -v "system user" | awk '{print $1}'` ; do mysql -h... -u... -p... -A --skip-column-names -e"KILL QUERY ${PROC_TO_KILL}" ; done
Vous pouvez modifier l'option grep dans l'en-tête de la boucle for pour localiser un utilisateur spécifique ou une chaîne spécifique dans la requête.
Si vous avez MySQL 5.1 où la liste de processus se trouve dans INFORMATION_SCHEMA, vous pouvez le faire pour générer les commandes KILL QUERY en bloc à partir du client mysql:
Vous pouvez faire des clauses WHERE sur le champ INFO pour rechercher une requête spécifique, le champ TIME sur les requêtes de longue durée ou le champ DB sur une base de données spécifique.
Réponses:
Depuis la ligne de commande Linux
Vous pouvez modifier l'option grep dans l'en-tête de la boucle for pour localiser un utilisateur spécifique ou une chaîne spécifique dans la requête.
Si vous avez MySQL 5.1 où la liste de processus se trouve dans INFORMATION_SCHEMA, vous pouvez le faire pour générer les commandes KILL QUERY en bloc à partir du client mysql:
Vous pouvez faire des clauses WHERE sur le champ INFO pour rechercher une requête spécifique, le champ TIME sur les requêtes de longue durée ou le champ DB sur une base de données spécifique.
la source
http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/
la source