Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 2.17 KB

sql-statement-kill.md

File metadata and controls

44 lines (32 loc) · 2.17 KB
title summary aliases
KILL [TIDB] | TiDB SQL Statement Reference
An overview of the usage of KILL [TIDB] for the TiDB database.
/docs/dev/sql-statements/sql-statement-kill/
/docs/dev/reference/sql/statements/kill/

KILL [TIDB]

The statement KILL TIDB is used to terminate connections in TiDB.

Synopsis

KillStmt ::= KillOrKillTiDB ( 'CONNECTION' | 'QUERY' )? NUM

KillOrKillTiDB ::= 'KILL' 'TIDB'?

Examples

mysql> SHOW PROCESSLIST;
+------+------+-----------+------+---------+------+-------+------------------+
| Id   | User | Host      | db   | Command | Time | State | Info             |
+------+------+-----------+------+---------+------+-------+------------------+
|    1 | root | 127.0.0.1 | test | Query   |    0 | 2     | SHOW PROCESSLIST |
|    2 | root | 127.0.0.1 |      | Sleep   |    4 | 2     |                  |
+------+------+-----------+------+---------+------+-------+------------------+
2 rows in set (0.00 sec)

KILL TIDB 2;
Query OK, 0 rows affected (0.00 sec)

MySQL compatibility

  • By design, KILL is not compatible with MySQL by default. This helps prevent against a case of a connection being terminated on the wrong TiDB server, because it is common to place multiple TiDB servers behind a load balancer.
  • DO NOT set compatible-kill-query = true in your configuration file UNLESS you are certain that clients will be always connected to the same TiDB node. This is because pressing ctrl+c in the default MySQL client opens a new connection in which KILL is executed. If there are proxies in between, the new connection might be routed to a different TiDB node, which possibly kills a different session.
  • The KILL TIDB statement is a TiDB extension. The feature of this statement is similar to the MySQL KILL [CONNECTION|QUERY] command and the MySQL command-line ctrl+c feature. It is safe to use KILL TIDB on the same TiDB node.

See also