如何监控当前正在执行的SQL进程_SHOW PROCESSLIST

SHOW PROCESSLIST 返回当前时刻正在运行或空闲的客户端连接线程快照,每行含Id、User、Host、db、Command、Time、State、Info字段,其中Info默认截断为100字符。SHOW PROCESSLIST 返回的是什么数据show processlist 是 mysql 提供的实时会话快照,不是历史记录,也不是持续流。它只返回当前时刻正在运行(或空闲)的连接线程,每行代表一个客户端连接,包含 id、user、host、db、command、time、state、info 这些字段。其中 info 列最值得关注------它显示该线程正在执行(或最后执行)的 sql 语句,但默认会被截断为 100 字符;如果语句更长,就看不到完整内容。怎么看到完整的 SQL 语句直接执行 SHOW PROCESSLIST 看不到长 SQL 的全貌,必须用 SHOW FULL PROCESSLIST。注意是 FULL,不是 full(大小写不敏感,但拼写不能错)。这个命令不会增加开销,只是把 Info 列长度拉到最大(默认 1MB),适合排查被截断的慢查询或动态拼接 SQL。SHOW PROCESSLIST 和 SHOW FULL PROCESSLIST 权限要求一样,都需要 PROCESS 权限普通用户只能看到自己的线程;只有 SUPER 或 CONNECTION_ADMIN 权限才能看到全部在 MySQL 8.0+ 中,推荐查 performance_schema.threads 表,它比 SHOW PROCESSLIST 更稳定、字段更全,且不受 max_allowed_packet 影响为什么有时候查不到正在跑的 SQL常见原因不是命令没用,而是 SQL 执行太快、已经结束,或者根本没进"执行态"。比如:语句处于 init、starting、checking permissions 等初始化阶段,Info 可能为空SQL 已完成,线程回到 Sleep 状态,Info 清空,只剩连接信息使用了连接池(如 HikariCP),实际执行的线程和你看到的 Host 不一致,真实 SQL 可能在应用日志里开启了 log_slow_verbosity=full 但没开 long_query_time=0,导致短于阈值的语句不进慢日志,又没卡在 PROCESSLIST 里监控时容易忽略的两个细节一是 Time 字段单位是秒,但它表示的是"当前状态持续时间",不是 SQL 总耗时。比如一个 State 为 Sending data 的线程,Time=120,说明它卡在这个状态 2 分钟了,未必是整条 SQL 跑了 2 分钟。 Felvin AI无代码市场,只需一个提示快速构建应用程序

相关推荐
程序员清风1 天前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律1 天前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵1 天前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
在世修行1 天前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885721 天前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
独隅1 天前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
打工仔折腾 AI1 天前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
_孤傲_1 天前
快速掌握 MySQL 语法
数据库·后端·mysql
信誓旦旦的程序猿1 天前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫1 天前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障