暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 学习笔记21: ODP 上终止指定 Client Session 和 Server Session 的方法

314

本文介绍了 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 显示结果。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论