mysql: vedi tutte le connessioni aperte a un dato database?


123

Con i permessi amministrativi in ​​mysql, come posso vedere tutte le connessioni aperte a un database specifico nel mio server?

Risposte:


169

Il comando è

SHOW PROCESSLIST

Sfortunatamente, non ha parametri di restringimento . Se ne hai bisogno puoi farlo dalla riga di comando:

mysqladmin processlist | grep database-name

23
mysqladmin -i 1 processlistper aggiornare l'output ogni secondo.
chanux

5
se hai bisogno di autenticaremysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
Tom Jenkinson

2
@TomJenkinson Di solito non lo uso perché non voglio che la password appaia nella cronologia della riga di comando o nell'elenco dei processi (ps aux)
David Rabinowitz

In alternativa a @chanux, con un output leggermente più pulito imhowatch -n1 mysqladmin processlist
Josiah

64

Inoltre puoi usare:

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)

Sentiti libero di usare le variabili di stato del server Mysql o il problema di troppe connessioni


2
Comunque non fa distinzione tra maiuscole e minuscole, perché %onn%invece di %conn%?
Pacerier

Sicuramente puoi usare% conn% invece di% onn%. E sì, per lo più non fa distinzione tra maiuscole e minuscole. Per la distinzione tra maiuscole e minuscole, vedere dev.mysql.com/doc/refman/5.0/en/…
wiseland

1
Mostra dati statistici / storici. La domanda riguarda le connessioni attualmente aperte.
Matteo

32

Questo dovrebbe fare il trucco per le versioni più recenti di MySQL:

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


3
Questo è l'unico corretto, a parte quello scelto, che può essere fatto usando SQL invece di mysqladmin.
dresende

2
Grazie, questa è la risposta che volevo.

1
Questa risposta è molto utile, mostra tutte le connessioni e le sue domande, che possono aiutare molto nel mio caso.
Hammad Khan

10

È possibile richiamare il comando show status di MySQL

mostra lo stato come "Conn%";

Per maggiori informazioni leggi Mostra connessioni a database aperti


3
Spiacenti, ma questa soluzione mostra un solo valore. Preferisco il comando "mostra stato come '% onn%';" che si trova nella stessa pagina web di riferimento.
Raul Luna

@RaulLuna, non fa distinzione tra maiuscole e minuscole, perché %onn%invece di %conn%?
Pacerier

@Pacerier È più di questo: è solo nel caso in cui la parola "connessione" appaia come parte di una parola più grande (max_used_connections, per esempio). Ovviamente puoi usare lo stato dello spettacolo come '% conn%'
Raul Luna

@RaulLuna, se la parola "connessione" appare come parte di una parola più grande, entrambe %onn%e %conn%funzioneranno comunque. Nessuna differenza.
Pacerier

1
perché viene eseguito il markup? non mostra le connessioni aperte correnti.
James


3

In MySql, la seguente query mostrerà il numero totale di connessioni aperte:

show status like 'Threads_connected';

2

Se stai utilizzando un sistema * nix, considera anche mytop .

Per limitare i risultati a un database, premere "d" quando è in esecuzione, quindi digitare il nome del database.


Questa app non viene utilizzata anche show processlistinternamente?
Pacerier

Credo di sì. mytop presenta le informazioni in modo ordinato con le opzioni di filtro. In passato ne ho fatto un buon uso analizzando i problemi di prestazioni. Inoltre, in caso di emergenza è più veloce accedere a una macchina, eseguire mytop e vedere immediatamente cosa sta succedendo. Proprio come correre "in alto".
Pryo

Usando più componenti, ti esponi a più bug. Dato che show processlistl'output di s è soddisfacente, perché dovresti averne bisogno mytop?
Pacerier

2
Perché usare "top" quando "ps aux" soddisfa?
Pryo

-1

Nel browser delle query fare clic con il pulsante destro del mouse sul database e selezionare elenco processi


Questo è specifico per un cliente.
Nino Škopac
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.