mysql: voir toutes les connexions ouvertes à une base de données donnée?

123

Avec les autorisations administratives im mysql, comment puis-je voir toutes les connexions ouvertes à une base de données spécifique sur mon serveur?

flybywire
la source

Réponses:

169

La commande est

SHOW PROCESSLIST

Malheureusement, il n'a pas de paramètres de réduction . Si vous en avez besoin, vous pouvez le faire à partir de la ligne de commande:

mysqladmin processlist | grep database-name
David Rabinowitz
la source
23
mysqladmin -i 1 processlistpour actualiser la sortie toutes les secondes.
chanux
5
si vous devez vous authentifiermysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
Tom Jenkinson
2
@TomJenkinson Je ne l'utilise généralement pas parce que je ne veux pas que le mot de passe apparaisse dans l'historique de la ligne de commande ou dans la liste des processus (ps aux)
David Rabinowitz
Comme alternative à @chanux, avec une sortie légèrement plus propre à mon humble aviswatch -n1 mysqladmin processlist
Josiah
64

Vous pouvez également 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)

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

Wiseland
la source
2
C'est insensible à la casse de toute façon, pourquoi %onn%au lieu de %conn%?
Pacerier
Bien sûr, vous pouvez utiliser% conn% au lieu de% onn%. Et oui, la plupart du temps, c'est insensible à la casse. Pour connaître le
respect de la
1
Cela montre des données statistiques / historiques. La question concerne les connexions actuellement ouvertes.
Matthew
32

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

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

Vadym Tyemirov
la source
3
C'est le seul correct, en dehors de celui choisi, qui peut être fait en utilisant SQL au lieu de mysqladmin.
dresende
2
Merci, c'est la réponse que je voulais.
1
Cette réponse est très utile, montre toutes les connexions et ses requêtes, ce qui peut aider beaucoup dans mon cas.
Hammad Khan
10

Vous pouvez appeler la commande MySQL show status

afficher le statut comme «Conn%»;

Pour plus d'informations, lisez Afficher les connexions de base de données ouvertes

adatapost
la source
3
Désolé, mais cette solution n'affiche qu'une seule valeur. Je préfère la commande "show status like '% onn%';" qui se trouve dans la même page Web référencée.
Raul Luna
@RaulLuna, c'est insensible à la casse de toute façon, pourquoi %onn%au lieu de %conn%?
Pacerier
@Pacerier C'est plus que ça: c'est juste au cas où le mot "connection" apparaîtrait comme faisant partie d'un mot plus grand (max_used_connections, par exemple). Bien sûr, vous pouvez utiliser le statut d'
Raul Luna
@RaulLuna Si le mot « connexion » apparaît dans le cadre d'un grand mot, à la fois %onn%et %conn%continuera de fonctionner. Aucune différence.
Pacerier
1
pourquoi est-ce marqué? il n'affiche pas les connexions ouvertes actuelles.
James
3

SQL: affiche la liste complète des processus;

C'est ce que fait MySQL Workbench.

justAMySQL_starter
la source
3

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

show status like 'Threads_connected';
Ayan
la source
2

Si vous utilisez un système * nix, pensez également à mytop .

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

Pryo
la source
Cette application n'utilise-t-elle pas également en show processlistinterne?
Pacerier
Je crois que oui. mytop présente simplement les informations avec des options de filtrage. J'en ai beaucoup utilisé dans le passé lors de l'analyse des problèmes de performances. 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
En utilisant plus de composants, vous vous exposez à plus de bogues. Puisque show processlistla sortie de est satisfaisante, pourquoi en auriez-vous besoin mytop?
Pacerier
2
Pourquoi utiliser "top" quand "ps aux" satisfait?
Pryo
-1

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

Kanagaraj M
la source
Ceci est spécifique à un client.
Nino Škopac