MySQL性能分析工具:SHOW PROCESSLIST

打印 上一主题 下一主题

主题 1986|帖子 1986|积分 5958

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
概述



  • 以下是一份具体的 MySQL SHOW PROCESSLIST 使用教程,帮助您监控和分析数据库当前运动,快速定位性能题目
  • 资料已经分类整理好,喜好的朋侪自取:https://pan.quark.cn/s/f52968c518d3

1. 下令基本作用

SHOW PROCESSLIST 显示当前 MySQL 服务器上全部活跃的毗连和线程信息,包罗:
• 正在执行的查询(SELECT/UPDATE 等)
• 配景线程(复制、清算暂时表等)
• 空闲毗连(如 Sleep 状态)

2. 基础语法

  1. SHOW [FULL] PROCESSLIST;
复制代码
• FULL 选项:显示完备的 SQL 语句(Info 列),否则默认截断前 100 个字符。

3. 输出字段详解

字段说明Id毗连/线程的唯一 ID,用于后续操纵(如 KILL)User毗连的用户名(如 root@localhost)Host客户端地址(IP:端口)db当前毗连的默认数据库Command线程正在执行的下令类型(如 Query、Sleep、Binlog Dump)Time线程处于当前状态的时间(秒)State线程状态(如 Sending data、Locked、Copying to tmp table)Info正在执行的 SQL 语句(未截断需用 SHOW FULL PROCESSLIST)
4. 常见场景与诊断

场景 1:查找慢查询
  1. -- 按执行时间倒序查看活跃查询
  2. SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
  3. WHERE COMMAND = 'Query'
  4. ORDER BY TIME DESC;
复制代码
重点关注:Time > N 秒 的查询,结合 Info 分析 SQL 效率。

场景 2:定位锁壅闭
  1. -- 查找处于等待锁的线程
  2. SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
  3. WHERE STATE LIKE '%Lock%';
复制代码
典范状态:Waiting for table metadata lock(元数据锁)、Waiting for row lock(行锁)。

场景 3:识别空闲毗连
  1. -- 查找长时间空闲的连接(Sleep 状态)
  2. SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
  3. WHERE COMMAND = 'Sleep' AND TIME > 60;
复制代码
处理建议:关闭无用毗连,淘汰毗连池资源浪费。

5. 高级操纵

终止题目线程
  1. -- 根据 Id 终止线程(谨慎操作!)
  2. KILL <thread_id>;
复制代码
示例:
  1. KILL 12345;  -- 终止 Id=12345 的线程
复制代码

自动监控脚本(示例)
  1. -- 每 10 秒监控一次运行超过 30 秒的查询
  2. SELECT
  3.   Id, User, Host, db, Command, TIME, STATE, LEFT(INFO, 200) AS SQL_TEXT
  4. FROM INFORMATION_SCHEMA.PROCESSLIST
  5. WHERE COMMAND = 'Query' AND TIME > 30
  6. ORDER BY TIME DESC;
复制代码

6. 注意事项


  • 权限要求:
    • SHOW PROCESSLIST:需 PROCESS 权限。
    • KILL:需 SUPER 或 CONNECTION_ADMIN 权限。
  • 避免误杀:
    • 生产情况谨慎使用 KILL,确认线程用途后再操纵。
  • 性能影响:
    • 频繁执行 SHOW PROCESSLIST 大概轻微影响性能,建议通过监控工具(如 Percona Monitoring、Prometheus)替换。

7. 结合其他工具

• 慢查询日志:通过 long_query_time 设置记载慢 SQL。
• Performance Schema:深入分析线程运动(需启用该模块)。
• pt-kill(Percona Toolkit):自动终止符合条件的长查询。

总结



  • 通过 SHOW PROCESSLIST,您可以快速掌握数据库及时状态,定位性能瓶颈和异常举动。建议将此下令集成到日常监控流程中,结合自动化工具提升运维效率。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表