本文介绍了 ODP 上终止指定 Client Session 和 Server Session 的方法。
您可以通过
KILL PROXYSESSION (cs_id | connection_id) 语句可以终止指定 Client Session。
参数说明:
id 既可以是
cs_id,也可以是
CONNECTION_ID,显示结果相同。
cs id 为 ODP 内部标记的每个 Client 的
id 号,
connection_id 为整个 OceanBase 数据库标记的每个 Client 的
id 号。
与
KILL connection_id 的作用一致。有关
KILL 语句的详细介绍,请参见
KILL 。
您还可以通过
KILL PROXYSESSION (cs_id | connection_id) ss_id 语句来终止指定 Client Session 上的 Server Session。
参数说明:
id 既可以是
cs_id,也可以是
connection_id,显示结果相同。
cs_id 为 ODP 内部标记的每个 Client 的
id 号,
connection_id 为整个 OceanBase 数据库标记的每个 Client 的
id 号。
ss_id 表示 ODP 内部标记每个 Server 端会话( Server Session)的
id 号,可以从
SHOW PROXYSESSION ATTRIBUTE id 中获取。详细的获取操作请参见
展示 Session 详细状态。
通过
KILL PROXYSESSION (cs_id | connection_id) 语句来终止指定 Client Session。示例如下:
obclient> SHOW PROXYSESSION; +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | proxy_sessid | Id | Cluster | Tenant | User | Host | db | trans_count | svr_session_count | state | tid | pid | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | 756006681247547400 | 7 | ob1.jianhua.sjh | sys | root | 127.0.0.1:23706 | NULL | 0 | 1 | MCS_ACTIVE_READER | 2230520 | 2230520 | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ 1 row in set obclient> KILL PROXYSESSION 7; ERROR 1317 (70100): Query execution was interrupted obclient> SHOW PROXYSESSION; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 8 Current database: *** NONE *** +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | proxy_sessid | Id | Cluster | Tenant | User | Host | db | trans_count | svr_session_count | state | tid | pid | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | 756006681247547401 | 8 | ob1.jianhua.sjh | sys | root | 127.0.0.1:23715 | NULL | 0 | 1 | MCS_ACTIVE_READER | 2230520 | 2230520 | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ 1 row in set obclient> SELECT CONNECTION_ID (); +-----------------+ | connection_id() | +-----------------+ | 2147549203 | +-----------------+ 1 row in set obclient> KILL PROXYSESSION 2147549203; ERROR 1317 (70100): Query execution was interrupted obclient> SHOW PROXYSESSION; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 9 Current database: *** NONE *** +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | proxy_sessid | Id | Cluster | Tenant | User | Host | db | trans_count | svr_session_count | state | tid | pid | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ | 756006681247547402 | 9 | ob1.jianhua.sjh | sys | root | 127.0.0.1:23734 | NULL | 0 | 1 | MCS_ACTIVE_READER | 2230520 | 2230520 | +--------------------+------+-----------------+--------+------+-----------------+------+-------------+-------------------+-------------------+---------+---------+ 1 row in set
通过指定
cs_id 或
CONNECTION_ID 来 KILL 当前的 Session 时,当前的连接中断,命令执行成功。使用
SHOW PROXYSESSION 查看时,OBClient 会重新建立 Session 连接,并执行 SQL 显示结果。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026121/viewspace-2932603/ ,如需转载,请注明出处,否则将追究法律责任。