2009-10-25 2 views

Répondre

120

La commande est

SHOW PROCESSLIST 

Malheureusement, it has no narrowing parameters. Si vous en avez besoin, vous pouvez le faire à partir de la ligne de commande:

mysqladmin processlist | grep database-name 
+17

'mysqladmin -i 1 processlist' pour rafraîchir la sortie toutes les secondes. – chanux

+4

si vous devez vous authentifier 'mysqladmin --user = [USERNAME] --password = [MOT DE PASSE] -i 1 processlist' –

+2

@TomJenkinson Je ne l'utilise généralement pas parce que je ne veux pas que le mot de passe apparaisse dans le Historique de la ligne de commande ou dans la liste de processus (ps aux) –

9

Vous pouvez appeler MySQL commande show état

état de spectacle comme 'Conn%';

Pour plus d'informations lire Show open database connections

+3

Désolé, mais cette solution présente une seule valeur. Je préfère la commande "show status like '% onn%';" qui est dans la même page Web référée. –

+0

@RaulLuna, C'est insensible à la casse de toute façon, Pourquoi '% onn%' au lieu de '% conn%'? – Pacerier

+0

@Pacerier C'est plus que ça: c'est juste au cas où le mot "connection" apparaîtrait dans un mot plus grand (max_used_connections, par exemple). Bien sûr, vous pouvez utiliser le statut show comme '% conn%' –

0

Dans le navigateur de requêtes faites un clic droit sur la base de données et sélectionnez processlist

42

En plus, vous pouvez utiliser:

mysql> show status like '%onn%'; 
+--------------------------+-------+ 
| Variable_name   | Value | 
+--------------------------+-------+ 
| Aborted_connects   | 0  | 
| Connections    | 303 | 
| Max_used_connections  | 127 | 
| Ssl_client_connects  | 0  | 
| Ssl_connect_renegotiates | 0  | 
| Ssl_finished_connects | 0  | 
| Threads_connected  | 127 | 
+--------------------------+-------+ 
7 rows in set (0.01 sec) 

Ne hésitez pas à utiliser Mysql-server-status-variables ou Too-many-connections-problem

+1

C'est insensible à la casse de toute façon, Pourquoi'% onn% 'au lieu de'% conn % '? – Pacerier

+0

Bien sûr, vous pouvez utiliser% conn% au lieu de% onn%. Et oui, la plupart du temps c'est insensible à la casse. Pour la sensibilité à la casse s'il vous plaît voir https://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html – wiseland

+0

Ceci montre des données statistiques/historiques. La question concerne les connexions actuellement ouvertes. –

2

Si vous utilisez un système * nix, pensez aussi mytop

Pour limiter les résultats à une base de données, appuyez sur "d" lors de son exécution, puis tapez le nom de la base de données.

+0

Est-ce que cette application n'utilise pas non plus 'show processlist' en interne? – Pacerier

+0

Je crois que oui. mytop présente simplement les informations avec des options de filtrage. J'en ai fait un bon usage dans le passé en analysant les problèmes de performance. De plus, il est plus rapide en cas d'urgence de se connecter à une machine, d'exécuter mytop et de voir immédiatement ce qui se passe. Un peu comme courir "top". – Pryo

+0

En utilisant plus de composants, vous vous exposez à plus de bugs. Puisque la sortie de 'show processlist' est satisfaisante, pourquoi auriez-vous besoin de' mytop' pour? – Pacerier

21

Cela devrait faire l'affaire pour les dernières versions de MySQL:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "elstream_development";

+2

Ceci est le seul correct, mis à part le choisi, qui peut être fait en utilisant SQL au lieu de mysqladmin. – dresende

+1

Merci, c'est la réponse que je voulais. – pinkvoid

1

SQL: montrent processlist complète;

Voici ce que fait MySQL Workbench.

0

Dans MySql, la requête suivante doit afficher le nombre total de connexions ouvertes:

show status like 'Threads_connected'; 
Questions connexes