show PROCESSLIST;
使用mysql-front登录以后,执行show PROCESSLIST;怎么也看不到运行的线程。
今天,才发现原来是登录用户的权限不够。
换了一个用户名名,马上就可以了,有几条语句一直在运行着,呵呵,没办法,
kill 134234;
kill 2342442;
SHOW PROCESSLIST
结果中一些常见的状态如下:
Checking table
Closing tables
Connect Out
Copying to tmp table on disk
tmp_table_size
,正在将临时表从内存存储转为磁盘存储以节省内存。
Creating tmp table
deleting from main table
deleting from reference tables
Flushing tables
FLUSH TABLES
,等待其他线程关闭数据表。
Killed
kill
请求给某线程,那么这个线程将会检查 kill
标志位,同时会放弃下一个 kill
请求。MySQL会在每次的主循环中检查 kill
标志位,不过有些情况下该线程可能会过一小段才能死掉。如果该线程程被其他线程锁住了,那么 kill
请求会在锁释放时马上生效。
Locked
Sending data
SELECT
查询的记录,同时正在把结果发送给客户端。
Sorting for group
GROUP BY
做排序。
Sorting for order
ORDER BY
做排序。
Opening tables
ALTER TABLE
或 LOCK TABLE
语句行完以前,数据表无法被其他线程打开。 正尝试打开一个表。
Removing duplicates
SELECT DISTINCT
方式的查询,但是MySQL无法在前一个阶段优化掉那些重复的记录。因此,MySQL需要再次去掉重复的记录,然后把结果发送给客户端。
Reopen table
Repair by sorting
Repair with keycache
Repair by sorting
慢很多。
Searching rows for update
UPDATE
要修改相关的记录之前就完成了。
Sleeping
System lock
mysqld
服务器同时来请求同一个表,那么可以通过增加 --skip-external-locking
参数来禁止外部系统锁。
Upgrading lock
INSERT DELAYED
处理程序正在尝试取得一个锁表以插入新记录。
Updating
User Lock
GET_LOCK()
。
Waiting for tables
FLUSH TABLES tbl_name
, ALTER TABLE
, RENAME TABLE
, REPAIR TABLE
, ANALYZE TABLE
, 或 OPTIMIZE TABLE
。
waiting for handler insert
INSERT DELAYED
已经处理完了所有待处理的插入操作,正在等待新的请求。转载请注明出处:http://yingxiong.javaeye.com/blog/404285
原文:http://www.cnblogs.com/grimm/p/5068195.html