SHOW PROCESSLIST显示哪些线程正在运行,如果您有SUPER权限,您可以看到所有线程,否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程),如果您不使用FULL关键词,则只显示每个查询的前100个字符,如果查询的相关条件超过100条,可以使用show full processlist;来查看全部;

如果您得到“too many connections”错误信息,并且想要了解正在发生的情况,本语句是非常有用的。MySQL保留一个额外的连接,让拥有SUPER权限的 账户使用,以确保管理员能够随时连接和检查系统(假设您没有把此权限给予所有的用户)。

本次实验使用的从库的主从用户操作的;

mysql> show full processlist;

+----+------+--------------------+------+---------+------+-------+-----------------------+

| Id | User | Host | db | Command | Time | State | Info |

+----+------+--------------------+------+---------+------+-------+-----------------------+

| 29 | rep | 192.168.1.14:53104 | NULL | Query | 0 | init | show full processlist |

+----+------+--------------------+------+---------+------+-------+-----------------------+

说明:

这个命令中最关键的就是state列,mysql列出的状态主要有以下几种:

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已经处理完了所有待处理的插入操作,正在等待新的请求。

大部分状态对应很快的操作,只要有一个线程保持同一个状态好几秒钟,那么可能是有问题发生了,需要检查一下。

还有其他的状态没在上面中列出来,不过它们大部分只是在查看服务器是否有存在错误是才用得着。

mysql show命令原理_MySQL show processlist;命令详解相关推荐

  1. mysql心得体会一百字_MYSQL CPU 100%实例详解

    MYSQL CPU 100%实例详解 2011/7/2 11:19:19作者:xy我要评论(0) 自己的一台主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL ...

  2. mysql如何使用事件_MySQL事件的使用详解

    在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句.这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上. 1.首先要查看事件是否开启了,SHOW V ...

  3. mysql数据库导入导出_MySQL数据库导入导出详解

    MySQL数据库的导入,有两种方法:1) 先导出数据库SQL脚本,再导入:2) 直接拷贝数据库目录和文件.在不同操作系统或MySQL版本情况 1. 概述 MySQL数据库的导入,有两种方法: 1) 先 ...

  4. mysql数据库数字类型_Mysql 数据库数值类型详解

    MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...

  5. mysql使用教程图文_MySQL使用教程图文详解

    如果你会查询这些相关的问题,说明你是一个正在或者准备从事IT的程序猿,对于一个程序猿而言,不会使用Linux系统的程序猿不是一好的程序猿哦!因为Windows有时候真的让人很抓狂,而本人也相信没有什么 ...

  6. mysql查询解析过程_MySQL查询执行过程详解

    查询是用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览.查询是一个独立的.功能强大的.具有计算功能和条件检索功能的数据库对象.MySQL数据库中,MySQL ...

  7. mysql中数字格式化_mysql中格式化数字详解

    最近因为工作的需求,需要对mysql中数字进行格式化,但发现网上的资料较少,索性自己总结一下,方便自己也帮助有需要的朋友们,下面话不多说,来一起看看详细的介绍: 一.format函数: 格式化浮点数 ...

  8. mysql外键教程_MySQL外键使用详解

    最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键 . (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支 ...

  9. mysql 执行计划 代价_mysql explain执行计划详解

    1).id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. 2).select_type列常见的有: A:simple:表 ...

  10. Mysql查询汉字语法_Mysql数据库查询语法详解

    ___聚合函数___max():最大值min():最小值avg():平均值sum():和count():记数 group_concat():组内字段拼接,用来查看组内其他字段 ___example__ ...

最新文章

  1. IPSec ***基于ASA的配置(思科)
  2. JavaScript模块化开发技术概述
  3. .Net Framework 4.5.1 安装时遇到严重错误 问题的解决方法
  4. java全写_Java 写文件
  5. boost::unorder_map如何插入元素_链表和有序二叉树插入元素时真的比数组快吗?
  6. 在 ubuntu下面利用libpcap编程
  7. 【推荐系统】双塔模型中的负采样
  8. arXiv热文解读 | 不懂Photoshop如何P图?交给深度学习吧
  9. mysqld命令相关介绍
  10. css3光束_html+css3实现3d光线照射文字特效
  11. 基于张量秩一分解的多目标跟踪方法
  12. linux中指令简约版
  13. AjaxPro2完整入门教程
  14. 优秀程序员必备技能大全
  15. python tornado websocket_Python:Tornado 第三章:WebSocket概念及应用:第一节:WebSocket概念...
  16. 万能html5视频播放器安卓,XPlayer万能视频播放器
  17. mac编译linux开源软件,Mac 端超好用的免费开源软件,我推荐这几款
  18. Scintilla教程(5): 选中
  19. java处理环比增长率
  20. openSUSE 11.2 上试动Mono

热门文章

  1. 【CNN】四张图彻底搞懂CNN反向传播算法(通俗易懂)
  2. 一鸣在群里质疑摸鱼,聊聊字节的工作文化
  3. linux错误—2.man:command not found
  4. 利用python进行数据分析—七、绘图与可视化—matplotlib与seaborn
  5. 万里航行总舵手——业务测试架构的设计
  6. jupyter notebook 内核挂掉
  7. 8.11 Matching Networks 匹配网络
  8. 【杂谈】我学习这么好,为什么找不到工作?
  9. 海量数据挖掘MMDS week6: MapReduce算法(进阶)
  10. 【医疗影像处理】Erosion and Dilation of medical images masks using scipy.ndimage in python