KILL
Terminates a specific connection or query. Allows administrators to stop runaway threads or disconnect users to free up server resources.
Syntax
KILL [HARD | SOFT] { {CONNECTION|QUERY} thread_id | QUERY ID query_id | USER user_name }Description
Each connection to mariadbd runs in a separate thread. You can see which threads are running with the SHOW PROCESSLIST statement and kill a thread with the KILL thread_id statement.KILL allows the optional CONNECTION orQUERY modifier:
KILL CONNECTIONis the same asKILLwith no modifier: It terminates the connection associated with the given thread or query id.KILL QUERYterminates the statement that the connectionthread_idis currently executing, but leaves the connection itself intact.KILL QUERY IDterminates the query byquery_id, leaving the connection intact.
If a connection is terminated that has an active transaction, the transaction is rolled back. If only a query is killed, the current transaction stays active. See also idle_transaction_timeout.
If you have the PROCESS privilege, you can see all threads.
If you have the CONNECTION ADMIN privilege, you can kill all threads and statements. Otherwise, you can see and kill only your own threads and statements.
If you have the SUPER privilege, the CONNECTION ADMIN privilege, you can kill all threads and statements. Otherwise, you can see and kill only your own threads and statements.
Killing queries that repair or create indexes on MyISAM and Aria tables may result in corrupted tables. Use the SOFT option to avoid this.
The HARD option (default) kills a statement as soon as possible. If you useSOFT, critical operations that may leave a table in an inconsistent state are not interrupted. Such operations include REPAIR and INDEX creation for MyISAM and Aria tables (REPAIR TABLE, OPTIMIZE TABLE).
KILL ... USER username kills all connections and queries for a given user. USER can be specified in one of the following ways:
username (kill without regard to hostname)
username@hostname
If you specify a thread id and that thread does not exist, you get the following error:
If you specify a query id that doesn't exist, you get the following error:
However, if you specify a user name, no error is issued for non-connected (or even non-existing) users. To check if the connection/query has been killed, you can use the ROW_COUNT() function.
A client whose connection is killed receives the following error:
To obtain a list of existing sessions, use the SHOW PROCESSLIST statement or query the Information Schema PROCESSLIST table.
Note: You can also use mariadb-admin kill thread_id [,thread_id...] to kill connections. To get a list of running queries,use mariadb-admin processlist. See mariadb-admin.
See Also
This page is licensed: GPLv2, originally from fill_help_tables.sql
Last updated
Was this helpful?

