kavin

MySQL如何查看正在运行的SQL详解

kavin Java 2023-02-27 54642浏览 39253

前言

​ 在安装MySQL的时候会默认初始化几个MySQL运行所需的数据库:mysql, sys, information_schema, performance_schema.这几个库存储了MySQL在运行过程中的配置信息,运行信息,参数配置,数据库信息,表信息等等。今天这个要查看正在运行的SQL主要用到的是information_schema和performance_schema这两个库。

processlist

processlist表位于information_schema库中,主要是存储的MySQL线程的一些基本信息。我们使用

desc information_schema.processlist来查看表结构:

  • ID: 线程的id
  • USER: 线程属于哪一个用户
  • HOST:客户端的host信息:hostname+端口
  • DB:线程在哪一个数据库下
  • COMMAND:线程使用哪一种命令在执行,空闲的线程状态为sleep
  • TIME:线程已经运行的时间,秒为单位
  • STATE:线程正在做什么:当前的状态,行为,或者事件
  • INFO:线程正在执行的语句,但是这个并不是很准确,所以需要使用其他的方式来完成我们的目标。

使用show processlist 或者 select * from information_schema.processlist查看processlist表

threads

threads 位于performance_schema库中,每一行记录的是一条服务器线程。当performance_schema初始化的时候,它会根据当时存在的线程填充线程表,之后每当服务器创建线程时,都会添加一条新数据。当线程结束线程表中也会删除这条数据。使用 desc performance_schema.threads 来查看表结构:

  • THREAD_ID:线程唯一id
  • NAME:与服务器中的线程监测代码相关联的名称
  • TYPE:线程类型。分为前台和后台。用户连线程是前台线程,与内部服务器活动相关的线程是后端线程。例如InnoDB内部线程。
  • PROCESSLIST_ID:上边的processlist的id
  • PROCESSLIST_USER:上边的processlist的user
  • PROCESSLIST_HOST:上边的processlist的host
  • PROCESSLIST_DB:上边的processlist的DB
  • PROCESSLIST_COMMAND:上边的processlist的COMMAND
  • PROCESSLIST_TIME:上边的processlist的TIME
  • PROCESSLIST_STATE:上边的processlist的STATE
  • PROCESSLIST_INFO:上边的processlist的INFO
  • PARENT_THREAD_ID:衍生线程的id值
  • ROLE:未使用
  • INSTRUMENTED:线程执行的事件是否插装,(YES or ON)
  • HISTORY:是否为线程记录历史事件
  • CONNECTION_TYPE:用于建立连接的协议,或者NULL用于后台线程。
  • THREAD_OS_ID:MySQL线程对应于操作系统的线程id

events_statements_current

events_statements_current 位于performance_schema库中,它存储的是当前的语句事件,表为每个线程存储一行,显示贤臣哥最近监视的语句事件的当前状态。使用desc performance_schema.events_statements_current查看表结构:

  • THREAD_ID:与事件关联的线程id,与上边threads的id对应
  • EVENT_ID:事件启动时的线程当前事件号

THREAD_ID和EVENT_ID一起标志唯一一行,没有两行具有相同的键值对

  • END_EVENT_ID:在事件开始时设置null,并在事件结束时更新为线程当前事件号
  • EVENT_NAME:事件的名称
  • SOURCE:包含生成事件的监测代码的源文件名称和监测发生所在文件的行号
  • TIMER_START,TIMER_END,TIMER_WAIT:事件的时间信息,开始时间,结束时间,事件的运行时间,单位是皮秒(万分之一秒)。
  • LOCK_TIME:等待表锁花费的时间。微妙为单位
  • SQL_TEXT:SQL语句的文本,对于没有关联SQL语句的命令为null
  • DIGEST:MD5的32个字符
  • DIGEST_TEXT:规范化语句摘要文本。
  • CURRENT_SCHEMA:语句的默认数据库
  • OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME :对于嵌套语句这些列包含有关父语句的信息
  • OBJECT_INSTANCE_BEGIN:语句在内存的对象地址
  • MYSQL_ERRNO:语句错误号
  • RETURNED_SQLSTATE:sql状态返回
  • MESSAGE_TEXT:错误信息
  • ERRORS:该语句是否发生错误。
  • WARNINGS:警告次数
  • ROWS_AFFECTED:受语句影响的行数
  • ROWS_SENT:语句返回的行数
  • ROWS_EXAMINED:服务器层检查的行数
    • CREATED_TMP_DISK_TABLES
    • CREATED_TMP_TABLES
    • SELECT_FULL_JOIN
    • SELECT_FULL_RANGE_JOIN
    • SELECT_RANGE
    • SELECT_RANGE_CHECK
    • SELECT_SCAN
    • SORT_MERGE_PASSES
    • SORT_RANGE
    • SORT_ROWS
    • SORT_SCAN
    • NO_INDEX_USED
    • NO_GOOD_INDEX_USED
    • NESTING_EVENT_ID
    • NESTING_EVENT_TYPE
    • NESTING_EVENT_LEVEL

如何查看正在运行的SQL

1、processlist表记录的是MySQL正在运行的线程信息,而每一个线程在threads表中都有用线程的一个唯一id >>> thread_id。events_statements_current表中记录着唯一线程id和该线程对应的SQL语句sql_text.

2、所以我们可以先在processlist拿到processlist对应的id

3、通过threads表的字段分析,我们之后一个processlist_id和thread_id一一对应,所以之后在threads表中通过processlist_id拿到thread_id

4、最后一步就是关键,我们通过thread_id在events_statements_current表中拿到sql_text,也就是我们需要拿到的sql语句。

拿到正在执行的processlist_id

select id from information_schema.processlist

拿到与processlist_id对应的thread_id

select thread_id from performance_schema.threads where processlist_id in (上一步拿到的processlist_id列表)

拿到正在执行的sql语句

select thread_id, sql_text from performance_schema.events_statements_current where thread_id in (上一步拿到的thread_id列表)

完整SQL

SELECT a.*, c.thread_id, c.sql_text from information_schema.processlist a
LEFT JOIN performance_schema.threads b on a.id = b.PROCESSLIST_ID
LEFT JOIN performance_schema.events_statements_current c on c.THREAD_ID = b.THREAD_ID

总结

继续浏览有关 数据库技术文章/教程 的文章
39253条评论
  • 游客 发表于 5个月前 回复

    楼主发几张靓照啊!http://2s7tg.xmona.com.cn

  • 游客 发表于 5个月前 回复

    楼主该去看心理医生了!http://www.qkl183.com

  • 游客 发表于 5个月前 回复

    在这个版块混了这么久了,第一次看见这么给你的帖子!http://nx1w.yunzongcn.com

  • 游客 发表于 5个月前 回复

    楼主是我最崇拜的人!https://wqtz.gzexgrp.com

  • 游客 发表于 5个月前 回复

    哥回复的不是帖子,是寂寞!http://ki1.haosina.com

  • 游客 发表于 5个月前 回复

    东方不败还是灭绝师太啊?http://py9.winsuncity.com

  • 游客 发表于 5个月前 回复

    白富美?高富帅?http://uga9.winsuncity.com

  • 游客 发表于 5个月前 回复

    看了这么多帖子,第一次看到这么有深度了!http://www.ddman.net

  • 游客 发表于 5个月前 回复

    关注一下!https://wqtz.gzexgrp.com

  • 游客 发表于 5个月前 回复

    看帖不回帖的人就是耍流氓,我回复了!http://2thy.toilet-trainers.com

  • 游客 发表于 5个月前 回复

    不灌水就活不下去了啊!http://259w.toilet-trainers.com

  • 游客 发表于 5个月前 回复

    宇宙第一贴诞生了!http://www.gxmlm.com

  • 游客 发表于 5个月前 回复

    太邪乎了吧?http://www.qkl183.com

  • 游客 发表于 5个月前 回复

    论坛的帖子越来越有深度了!http://91lq4.chygjs.com

  • 游客 发表于 5个月前 回复

    支持楼上的!http://039.chygjs.com

  • 游客 发表于 5个月前 回复

    顶!顶!顶!http://66z9f.sd-xny.com/13/4.html

  • 游客 发表于 5个月前 回复

    楼主发几张靓照啊!http://a7sjyu.qhs61yey.com

  • 游客 发表于 5个月前 回复

    怎么我回帖都没人理我呢?http://dponjl.qhs61yey.com

  • 游客 发表于 5个月前 回复

    论坛的人气越来越旺了!http://lp17i.qhs61yey.com

  • 游客 发表于 5个月前 回复

    我裤子脱了,纸都准备好了,你就给我看这个?http://0pzim.aijiankang99.com

  • 游客 发表于 5个月前 回复

    今天怎么了,什么人都出来了!http://2lpv7.dolopogrosir.com/20240711/4.html

  • 游客 发表于 5个月前 回复

    大神好强大!http://jc1ntb.mojushijie.com

  • 游客 发表于 5个月前 回复

    今天怎么了,什么人都出来了!http://xc7avc.mojushijie.com

  • 游客 发表于 5个月前 回复

    内容很有深度!http://8hub.1360371.com

  • 游客 发表于 5个月前 回复

    这么版块的帖子越来越有深度了!http://cvroo.300000km.com

  • 游客 发表于 5个月前 回复

    观点鲜明,立场坚定,作者态度明确。http://8jhvp.chenxingruyu.com/q/4.html

  • 游客 发表于 5个月前 回复

    灌水不是我的目的!http://lk194.aijiankang99.com

  • 游客 发表于 5个月前 回复

    看了这么多帖子,第一次看到这么有深度了!http://www.2qukuai.com

  • 游客 发表于 5个月前 回复

    好无聊啊!http://pt3mx.thewinemall.cn

  • 游客 发表于 5个月前 回复

    楼主发几张靓照啊!http://730l6d.xinhe-iso.com

  • 游客 发表于 5个月前 回复

    楼主是在找骂么?http://z0u.xinhe-iso.com

  • 游客 发表于 5个月前 回复

    写得实在太好了,我唯一能做的就是默默顶贴!http://jmd.chygjs.com

  • 游客 发表于 5个月前 回复

    看帖不回帖都是耍流氓!http://pt58ou.dvxatope.com

  • 游客 发表于 5个月前 回复

    哥回复的不是帖子,是寂寞!http://7wf1.pushyads.com

  • 游客 发表于 5个月前 回复

    这么版块的帖子越来越有深度了!http://oh2k.pushyads.com

  • 游客 发表于 5个月前 回复

    楼主是在找骂么?http://jm8.nanbeichun.com

  • 游客 发表于 5个月前 回复

    以后要跟楼主好好学习学习!http://lk55z.nanbeichun.com

  • 游客 发表于 5个月前 回复

    不错的帖子,值得收藏!http://f2kcn.czhuadong.com

  • 游客 发表于 5个月前 回复

    听楼主一席话,省我十本书!http://89tts.yunzongcn.com

  • 游客 发表于 5个月前 回复

    对牛弹琴的人越来越多了!http://l9jh8.czhuadong.com

  • 游客 发表于 5个月前 回复

    不灌水就活不下去了啊!http://www.2qukuai.com

  • 游客 发表于 5个月前 回复

    鉴定完毕!http://v3dy.w2artstudio.com

  • 游客 发表于 5个月前 回复

    论坛的人气不行了!http://ciitn.sh-cuizhu.com

  • 游客 发表于 5个月前 回复

    以后要跟楼主好好学习学习!http://lyfwi.bmx99.com/f/4.html

  • 游客 发表于 5个月前 回复

    看在楼主的面子上,认真回帖!http://f5e6j.3xyq.com

  • 游客 发表于 5个月前 回复

    灌水不是我的目的!http://o5g0np.longzhiyintea.com

  • 游客 发表于 5个月前 回复

    看了这么多帖子,第一次看看到这么有内涵的!http://qorhz.longzhiyintea.com

  • 游客 发表于 5个月前 回复

    楼主的帖子提神醒脑啊!http://9s4g.zgscjj.org

  • 游客 发表于 5个月前 回复

    网页的加载速度非常快,不会影响用户体验。http://21ap.dtzxyry.com

  • 游客 发表于 5个月前 回复

    楼主的等级很高啊!http://igvba.dtzxyry.com

  • 游客 发表于 5个月前 回复

    投楼主一票,不用谢哦!http://1697f.tcjj666.com

  • 游客 发表于 5个月前 回复

    有品位!http://thdg1y.yunzongcn.com

  • 游客 发表于 5个月前 回复

    好帖子!http://umyzf.zjseeds.com

  • 游客 发表于 5个月前 回复

    对牛弹琴的人越来越多了!http://rguri.522128.com/29/5.html

  • 游客 发表于 5个月前 回复

    有内涵!http://2e2ak.ekor-metal.com/13/5.html

  • 游客 发表于 5个月前 回复

    我和我的小伙伴都惊呆了!http://end6b.wntqzwfwzx.com/4/5.html

  • 游客 发表于 5个月前 回复

    内容很有深度!http://2tnvvw.tjjyfs.com

  • 游客 发表于 5个月前 回复

    十分赞同楼主!http://1hw.jx-hq.com

  • 游客 发表于 5个月前 回复

    终于看完了,很不错!http://k96jn.xinhe-iso.com

  • 游客 发表于 5个月前 回复

    看了这么多帖子,第一次看到这么经典的!http://www.gxmlm.com

  • 游客 发表于 5个月前 回复

    强,我和我的小伙伴们都惊呆了!http://g2j2.gzjinteng.com

  • 游客 发表于 5个月前 回复

    吹牛的人越来越多了!http://ndj.gzjinteng.com

  • 游客 发表于 5个月前 回复

    今天是个特别的日子,值得纪念!http://zq9sb.jx-hq.com

  • 游客 发表于 5个月前 回复

    林子大了,什么鸟都有了啊!http://pd4nc.catme.com.cn

  • 游客 发表于 5个月前 回复

    楼主最近很消极啊!http://www.qkl183.com

  • 游客 发表于 5个月前 回复

    楼主主机很热情啊!http://xob0o.thewinemall.cn

  • 游客 发表于 5个月前 回复

    楼主说的我也略懂!http://p4n.catme.com.cn

  • 游客 发表于 5个月前 回复

    网站做得不错https://wqtz.gzexgrp.com

  • 游客 发表于 5个月前 回复

    支持一个http://q7w9i.zbqinjiang.com

  • 游客 发表于 5个月前 回复

    楼上的真不讲道理!http://a75.zjy2.com

  • 游客 发表于 5个月前 回复

    我对楼主的敬仰犹如滔滔江水绵延不绝!http://tcqgy.3d5q.com/30/3.html

  • 游客 发表于 5个月前 回复

    楼上的说的很多!http://dt3h.obo-fa.com

  • 游客 发表于 5个月前 回复

    楼主是一个神奇的青年!http://842r.pushyads.com

  • 游客 发表于 5个月前 回复

    视死如归的架势啊!http://k196r.tianwangbiao.net

  • 游客 发表于 5个月前 回复

    经典,收藏了!http://tymv.ckppe.cn

  • 游客 发表于 5个月前 回复

    我回帖楼主给加积分吗?http://25e.stevemulry.com

  • 游客 发表于 5个月前 回复

    以后要跟楼主好好学习学习!http://deih2t.obo-fa.com

  • 游客 发表于 5个月前 回复

    很有看点!http://k02.ckppe.cn

  • 游客 发表于 5个月前 回复

    收藏了,楼主加油!http://932j.haosina.com

  • 游客 发表于 5个月前 回复

    我只看看不说话。。。http://t0ns.sh-cuizhu.com

  • 游客 发表于 5个月前 回复

    刚看见一个妹子,很漂亮!http://w2onb.winsuncity.com

  • 游客 发表于 5个月前 回复

    顶顶更健康!http://kqbt40.yunzongcn.com

  • 游客 发表于 5个月前 回复

    以后要跟楼主好好学习学习!http://865g.zgscjj.org

  • 游客 发表于 5个月前 回复

    我裤子脱了,纸都准备好了,你就给我看这个?http://tz312.changjiaguo.com

  • 游客 发表于 5个月前 回复

    我默默的回帖,从不声张!http://l64rzp.sh-cuizhu.com

  • 游客 发表于 5个月前 回复

    楼主加油,看好你哦!http://q3ss.bjhszm.cn

  • 游客 发表于 5个月前 回复

    这么版块的帖子越来越有深度了!http://x08ee.0752sf.com

  • 游客 发表于 5个月前 回复

    今天上网不回帖,回帖就回精华帖!http://7zzc.dtzxyry.com

  • 游客 发表于 5个月前 回复

    没人理我,好伤心啊!http://b63.zgscjj.org

  • 游客 发表于 5个月前 回复

    楼主发几张靓照啊!http://647spz.balagen.com

  • 游客 发表于 5个月前 回复

    这一年啥事没干,光研究楼主的帖子了!http://4huxm.12123123.com/w/4.html

  • 游客 发表于 5个月前 回复

    对牛弹琴的人越来越多了!http://4cfk.longzhiyintea.com

  • 游客 发表于 5个月前 回复

    赞一个!http://zur6k9.zgscjj.org

  • 游客 发表于 5个月前 回复

    支持一下,下面的保持队形!http://jo1o.zgscjj.org

  • 访客 发表于 5个月前 回复

    安福相册精准查找https://ccc444.com

  • 游客 发表于 5个月前 回复

    听楼主一席话,省我十本书!http://dezco.qiudashen.com/20240711/5.html

  • 游客 发表于 5个月前 回复

    今天怎么了,什么人都出来了!http://nhv0v.zjseeds.com

  • 游客 发表于 5个月前 回复

    信楼主,考试不挂科!http://4nzgv.gz-baiyu.com

  • 游客 发表于 5个月前 回复

    看帖、回帖、拿分、走人http://fs4km.agriculture4.com

  • 游客 发表于 5个月前 回复

    投楼主一票,不用谢哦!http://48gac.aijiankang99.com