mysql show processlist的使用

show full processlist 用来查看当前线程处理情况,具体信息请参考官网:https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html

show full processlist 返回的结果是实时变化的,是对mysql链接执行的现场快照,所以用来处理突发事件非常有用。如果没有FULL关键字, 则show processlist中的Info字段仅显示每个语句的前 100 个字符 。

1.show full processlist

show full processlist对应查询的表为information_schema.processlist

1
2
select * from information_schema.processlist order by time desc
select * from information_schema.processlist where command!='sleep' order by time desc

 

 详情介绍:

  • Id:链接mysql 服务器线程的唯一标识,可以通过kill来终止此线程的链接。
  • User:当前线程链接数据库的用户
    • system user指由服务器产生的非客户端线程来处理内部任务,例如,延迟行处理程序线程或副本主机上使用的 I/O 或 SQL 线程。对于system user,列中没有指定主机 Host
    • unauthenticated user指的是已与客户端连接相关联但尚未对客户端用户进行身份验证的线程。 解决方法参考:https://www.cnblogs.com/mianbaoshu/p/15722267.html
    • event_scheduler指的是监视计划事件的线程
  • Host:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户
  • db: 线程链接的数据库,如果没有则为null
  • Command: 显示当前连接的执行命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)
  • Time: 线程处在当前状态的时间,单位是秒
  • State:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成
  • Info: 线程执行的sql语句,如果没有语句执行则为null。这个语句可以使客户端发来的执行语句也可以是内部执行的语句

2.kill 进程

 

posted @   声声慢43  阅读(242)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示