MySQL 如何从查看和管理正在运行的线程

2023-07-30 09:20:23 阅读:1350 评论:0 点赞:0
所属分类: MySQL

有时,您可能会收到MySQL服务器返回的 “太多连接” 错误。要找出原因,可以使用 SHOW PROCESSLIST 命令。该命令的作用是返回所有当前运行的线程。然后,您可以使用 KILL 语句终止空闲线程,具体语法如下:

SHOW [FULL] PROCESSLIST; 

注意

具有 PROCESS 权限的用户才可以查看所有的进程,否则只能查看与其帐户关联的线程。

例如:

show processlist;

+----+-----------------+-----------------+-------+---------+------+------------------------+------------------+
| Id | User            | Host            | db    | Command | Time | State                  | Info             |
+----+-----------------+-----------------+-------+---------+------+------------------------+------------------+
|  5 | event_scheduler | localhost       | NULL  | Daemon  |  481 | Waiting on empty queue | NULL             |
|  8 | root            | localhost:50607 | mysql | Query   |    0 | init                   | show processlist |
+----+-----------------+-----------------+-------+---------+------+------------------------+------------------+
2 rows in set (0.00 sec)

列头信息含义

字段 说明
Id 客户端进程的ID
User 与线程关联的用户名。
Host 客户端连接的主机
DB 如果另外选择了一个默认数据库 NULL
Command 命令类型
Time 当前线程处于当前状态的秒数。
State 线程状态,表示指示正在执行的线程的操作,事件或状态。
Info 语句正在执行,或者NULL如果它没有执行任何语句。

提示

SHOW PROCESSLIST 命令中不使用 FULL 关键字,则只在 Info 列中返回每个语句的前100个字符。

不拘一格

职业:后端开发工程师
学校:重庆师范大学
城市:重庆
文章:165
一个喜欢学习的人,快来和我成为朋友吧....

登录逐梦笔记

注册逐梦笔记

已有账号?