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.