This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

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 è come KILL senza modificatori: termina la connessione associata al thread specificato.
  • KILL QUERY termina 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:

  • REPAIR e 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_USER o CURRENT_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.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.