KILL [CONNECTION | QUERY]
Sintassi
KILL [HARD | SOFT] [CONNECTION | QUERY] [id_thread | USER nome_utente]
Le opzioni HARD | SOFT e USER nome_utente sono state aggiunte in MariaDB 5.3.2
Spiegazione
Ogni connessione a mysqld è eseguita in un thread separato. E' possibile visualizzare i thread attivi con l'istruzione SHOW PROCESSLIST e ucciderli con l'istruzione KILL id_thread.
KILL prevede l'uso dei modificatori opzionali CONNECTION o QUERY:
KILL CONNECTIONè comeKILLsenza modificatori: termina la connessione associata al thread specificato.KILL QUERYtermina l'istruzione eseguira dal thread specificato, ma non chiude la connessione stessa.
Se si possiede il permesso PROCESS, è possibile visualizzare tutti i thread. Se si possiede il permesso SUPER, è possibile terminare qualsiasi thread o istruzione. Diversamente, si può visualizzare e terminare solo i propri thread e le proprie istruzioni.
L'opzione (predefinita) HARD termina un comando appena possibile. Se si utilizza SOFT, le operazioni critiche che possono compromettere la coerenza dei dati non verranno interrotte. Tali istruzioni sono:
REPAIRe creazione degli indici sulle tabelle MyISAM e Aria.
I timeout generati da MAX_QUERY_TIME utilizzano KILL SOFT QUERY.
KILL ... USER nome_utente termina le connessioni e le istruzioni associate all'utente specificato. L'utente può essere specificato in uno dei modi seguenti:
- nome_utente (termina senza controllare l'hostname)
- nome_utente@hostname
CURRENT_USERoCURRENT_USER()(utente corrente)
Nota: Non è possibile utilizzare KILL nella libreria Embedded Server, perché questa viene eseguita all'interno di un thread dell'applicazione principale. Non crea alcun thread associato alle connessioni.
Nota: è anche possibile eseguire mysqladmin kill id_thread [, id_thread...] per terminare le connessioni. Per ottenere una lista delle query in esecuzione, si può eseguire mysqladmin processlist.