当前位置: 首页 > 图文教程 > 数据库 > MYSQL > processlist命令 查看mysql 线程

MYSQL
Linux环境MySQL服务器级优化讲解
MySQL在命名用过程中所遇到的常见问题
MySQL数据库只监听某个特定地址的方法
MySQL数据库管理必备工具 phpMyAdmin 3.0
MySQL中两种快速创建空表的方式的区别
讲解MySQL数据库的数据类型和建库策略
请正确认识MySQL对服务器端光标的限制
如何在MySQL查询结果集中得到记录行号
在SUSE10环境下安装和配置MySQL数据库
由浅入深讲解MySQL数据库索引的选择性
轻松掌握MySQL数据库锁机制的相关原理
一种特别简单的MySQL数据库安装方法
实例讲解如何配置MySQL数据库主从复制
MySQL数据库中的重要数据应当如何保护
详细讲解MySQL数据库对文件操作的封装
深入了解MySQL的数据类型以及建库策略
解决MySQL数据库中与优化器有关的问题
向MySQL数据库的表中录入数据的实用方法
MySQL数据库中的各种乱码及其解决方法
快速掌握怎样选择准备安装的 MySQL版本

MYSQL 中的 processlist命令 查看mysql 线程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 229 ::
收藏到网摘: n/a

processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。

1. 进入mysql/bin目录下输入mysqladmin processlist;
2. 启动mysql,输入show processlist(关闭某一线程 kill id;);
如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。
得到数据形式如下(只截取了三条):
mysql> show processlist;
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
| Id | User | Host | db | Command | Time| State | Info
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
|207|root |192.168.0.20:51718 |mytest | Sleep | 5 | | NULL
|208|root |192.168.0.20:51719 |mytest | Sleep | 5 | | NULL
|220|root |192.168.0.20:51731 |mytest |Query | 84 | Locked |
select bookname,culture,value,type from book where id=001
先简单说一下各列的含义和用途,第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。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语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。