• ADADADADAD

    怎么在MySQL数据库中使用show processlist指令[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 09:49:46

    作者:文/会员上传

    简介:

     1. show processlist是什么show processlist:通过查看mysql的官网,可以发现,其主要是查询数据库中哪些线程正在执行,针对比较慢的线程(time的数值比较大的线程)我们可以将其kill

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

     1. show processlist是什么

    show processlist:通过查看mysql的官网,可以发现,其主要是查询数据库中哪些线程正在执行,针对比较慢的线程(time的数值比较大的线程)我们可以将其kill掉。此外,show full processlist 返回的结果是实时变化的。

      2. show processlist怎么用

      有三种方式可以执行show processlist,可以通过命令行、SQL语句、Navicat客户端等。

      1) 命令行:SHOW FULL PROCESSLIST\G

      执行结果如下:

    mysql>SHOWFULLPROCESSLIST\G***************************1.row***************************Id:1User:systemuserHost:db:NULLCommand:ConnectTime:1030455State:WaitingformastertosendeventInfo:NULL***************************2.row***************************Id:2User:systemuserHost:db:NULLCommand:ConnectTime:1004State:Hasreadallrelaylog;waitingfortheslaveI/OthreadtoupdateitInfo:NULL***************************3.row***************************Id:3112User:replikatorHost:artemis:2204db:NULLCommand:BinlogDumpTime:2144State:Hassentallbinlogtoslave;waitingforbinlogtobeupdatedInfo:NULL***************************4.row***************************Id:3113User:replikatorHost:iconnect2:45781db:NULLCommand:BinlogDumpTime:2086State:Hassentallbinlogtoslave;waitingforbinlogtobeupdatedInfo:NULL***************************5.row***************************Id:3123User:stefanHost:localhostdb:apollonCommand:QueryTime:0State:NULLInfo:SHOWFULLPROCESSLISTrowsinset(0.00sec)

      2) 可以通过sql语句查询数据库中相关信息的表

      select id, db, user, host, command, time, state, info from information_schema.processlist order by time desc

      3) 可以通过Navicat工具查看,如下图是使用Navicat查询到的截图。

      3. show processlist怎么解读

      下面对于使用该命令查询到的结果进行解读。

      Id:链接mysql 服务器线程的唯一标识,可以通过kill来终止此线程的链接。

      User:当前线程链接数据库的用户

      Host:显示这个语句是从哪个ip 的哪个端口上发出的。可用来追踪出问题语句的用户

      db: 线程链接的数据库,如果没有则为null

      Command: 显示当前连接的执行的命令,一般就是休眠或空闲(sleep),查询(query),连接(connect)

      Time: 线程处在当前状态的时间,单位是秒

      State:显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个 sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成

      Info: 线程执行的sql语句,如果没有语句执行则为null。这个语句可以使客户端发来的执行语句也可以是内部执行的语句

      4. show processlist结果怎么处理

      在上面的步骤中,我们可以查到每个线程的执行时间等信息,因此针对执行时间比较长的线程,我们可以直接将其kill掉,直接执行 kill Id号即可。

      如果要查时间超过5分钟的,可以拼接并执行以下sql

    selectconcat('kill',id,';')frominformation_schema.processlistwherecommand!='Sleep'andtime>5*60orderbytimedesc
    怎么在MySQL数据库中使用show processlist指令.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlprocesslistshow