mysql: vê todas as conexões abertas com um determinado banco de dados?

122

Com permissões administrativas no mysql, como posso ver todas as conexões abertas com um banco de dados específico no meu servidor?

flybywire
fonte

Respostas:

168

O comando é

SHOW PROCESSLIST

Infelizmente, não possui parâmetros de restrição . Se você precisar deles, pode fazê-lo na linha de comando:

mysqladmin processlist | grep database-name
David Rabinowitz
fonte
23
mysqladmin -i 1 processlistpara atualizar a saída a cada segundo.
chanux
5
se você precisa se autenticarmysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
Tom Jenkinson
2
@TomJenkinson Eu normalmente não usá-lo porque eu não quero a senha para aparecer no histórico da linha de comando ou na lista de processos (ps aux)
David Rabinowitz
Como uma alternativa para @chanux, com um imho saída ligeiramente mais limpawatch -n1 mysqladmin processlist
Josias
64

Também você pode usar:

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)

Sinta-se livre para usar Mysql-server-status-variable ou Too-many-connections-problem

wiseland
fonte
2
É sensível a maiúsculas e minúsculas, por que em %onn%vez de %conn%?
Pacerier
Claro que você pode usar% conn% em vez de% onn%. E sim, principalmente não faz distinção entre maiúsculas e minúsculas. Para a sensibilidade caso consulte dev.mysql.com/doc/refman/5.0/en/...
wiseland
1
Isso mostra dados estatísticos / históricos. A questão é sobre as conexões atualmente abertas.
Matthew
32

Isso deve fazer o truque para as versões mais recentes do MySQL:

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

Vadym Tyemirov
fonte
3
Este é o único correto, além do escolhido, o que pode ser feito usando SQL em vez de mysqladmin.
dresende
2
Obrigado, esta é a resposta que eu queria.
1
Esta resposta é muito útil, mostra todas as conexões e suas consultas, o que pode ajudar bastante no meu caso.
Hammad Khan
10

Você pode chamar o comando show status do MySQL

mostrar status como 'Conn%';

Para obter mais informações, leia Mostrar conexões abertas do banco de dados

adatapost
fonte
3
Desculpe, mas esta solução mostra apenas um valor. Eu prefiro o comando "show status like '% onn%';" que está na mesma página da web referida.
Raul Luna
@RaulLuna, não faz distinção entre maiúsculas e minúsculas, por que em %onn%vez de %conn%?
Pacerier
@Pacerier É mais do que isso: é apenas no caso de a palavra "conexão" aparecer como parte de uma palavra maior (max_used_connections, por exemplo). Claro que você pode usar o status do programa como '% conn%'
Raul Luna
@RaulLuna, se a palavra "conexão" aparecer como parte de uma palavra maior, ambas %onn%e %conn%ainda funcionarão. Não faz diferença.
Pacerier
1
por que isso está marcado? não mostra as conexões abertas atuais.
James
3

SQL: mostra lista de processos completa;

É isso que o MySQL Workbench faz.

justAMySQL_starter
fonte
3

No MySql, a seguinte consulta deve mostrar o número total de conexões abertas:

show status like 'Threads_connected';
Ayan
fonte
2

Se você estiver executando um sistema * nix, considere também o mytop .

Para limitar os resultados a um banco de dados, pressione "d" quando estiver em execução e digite o nome do banco de dados.

Pryo
fonte
Este aplicativo também não está usando show processlistinternamente?
Pacerier
Eu acredito que sim. mytop apenas apresenta as informações ordenadamente com opções de filtragem. Eu fiz muito bom uso no passado enquanto analisava problemas de desempenho. Além disso, é mais rápido em emergências fazer logon em uma máquina, executar o mytop e ver imediatamente o que está acontecendo. Bem como correr "top".
Pryo
Ao usar mais componentes, você está se expondo a mais erros. Como show processlista produção é satisfatória, por que você precisaria mytop?
Pacerier
2
Por que usar "top" quando "ps aux" satisfaz?
Pryo
-1

No navegador de consulta, clique com o botão direito do mouse no banco de dados e selecione lista de processos

Kanagaraj M
fonte
Isso é específico para um cliente.
Nino Škopac