• MySQL show processlist说明


    MySQL show processlist说明

     
    分类: 数据库系列

    本文原创地址在博客园:https://www.cnblogs.com/f-ck-need-u/p/7742153.html

    show processlist和show full processlist

    processlist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。

    如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showprocesslist只能列出当前100条。如果想全部列出,可以使用SHOW FULL PROCESSLIST命令

    mysql> show processlist;
    +----+------+--------------------+------+---------+-------+-------+------------------+
    | Id | User | Host               | db   | Command | Time  | State | Info             |
    +----+------+--------------------+------+---------+-------+-------+------------------+
    |  1 | root | localhost          | NULL | Sleep   |    12 |       | NULL             |
    |  2 | root | 192.168.100.1:7437 | test | Sleep   |  8035 |       | NULL             |
    |  3 | root | 192.168.100.1:7438 | NULL | Sleep   | 24348 |       | NULL             |
    |  5 | root | 192.168.100.1:7443 | NULL | Sleep   | 24317 |       | NULL             |
    |  7 | root | 192.168.100.1:7450 | test | Sleep   | 24272 |       | NULL             |
    |  9 | root | 192.168.100.1:5152 | test | Query   |     0 | init  | show processlist |
    +----+------+--------------------+------+---------+-------+-------+------------------+
    6 rows in set
    mysql> show full processlist;
    +----+------+--------------------+------+---------+-------+-------+-----------------------+
    | Id | User | Host               | db   | Command | Time  | State | Info                  |
    +----+------+--------------------+------+---------+-------+-------+-----------------------+
    |  1 | root | localhost          | NULL | Sleep   |    19 |       | NULL                  |
    |  2 | root | 192.168.100.1:7437 | test | Sleep   |  8042 |       | NULL                  |
    |  3 | root | 192.168.100.1:7438 | NULL | Sleep   | 24355 |       | NULL                  |
    |  5 | root | 192.168.100.1:7443 | NULL | Sleep   | 24324 |       | NULL                  |
    |  7 | root | 192.168.100.1:7450 | test | Sleep   | 24279 |       | NULL                  |
    |  9 | root | 192.168.100.1:5152 | test | Query   |     0 | init  | show full processlist |
    +----+------+--------------------+------+---------+-------+-------+-----------------------+
    6 rows in set
    

    各个列的含义:

    ①.id列,用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看
    ②.user列,显示当前用户。如果不是root,这个命令就只显示用户权限范围的sql语句
    ③.host列,显示这个语句是从哪个ip的哪个端口上发的,可以用来跟踪出现问题语句的用户
    ④.db列,显示这个进程目前连接的是哪个数据库
    ⑤.command列,显示当前连接的执行的命令,一般取值为休眠(sleep),查询(query),连接(connect)等
    ⑥.time列,显示这个状态持续的时间,单位是秒
    ⑦.state列,显示使用当前连接的sql语句的状态,很重要的列。state描述的是语句执行中的某一个状态。一个sql语句,以查询为例,可能需要经过copying to tmp table、sorting result、sending data等状态才可以完成
    ⑧.info列,显示这个sql语句,是判断问题语句的一个重要依据

    在主从复制环境中,show processlist或show full processlist对于判断状态很有帮助,例如下面的state列:

  • 相关阅读:
    Linux vnc服务器操作(启动/停止/重起/自启动)
    利用CSS、JavaScript及Ajax实现图片预加载的三大方法
    现在就开始使用AngularJS的三个重要原因
    Spring Security3十五日研究(转载)
    Web service 框架比较CXF xfire aisx2 aisx
    kettle modified javascript 步骤的一个例子
    JProfiler 8(一个很好的java性能监控工具) 下载和注册码
    Tomcat 性能优化(连接数、线程、JVM、dir)
    panabit web认证界面个性化
    Eclipse去除JavaScript验证错误
  • 原文地址:https://www.cnblogs.com/flzs/p/11044689.html
Copyright © 2020-2023  润新知