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