在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SELECT语句、执行了多少UPDATE/DELETE/INSERT语句等统计信息,从而便于我们根据当前MySQL服务器的运行状态进行对应的调整或优化工作。

在MySQL中,我们可以使用SHOW STATUS指令语句来查看MySQL服务器的状态信息。下面,我们以DOS命令窗口的形式连接MySQL,并执行show status;指令,我们将看到如下显示信息:

执行show status指令显示的部分结果

当我们执行show status语句时,MySQL将会列出多达300多条的状态信息记录,其中包括了供我们查看了解的各种信息。不过,如果直接使用show status指令得到300多条记录,会让我们看得眼花缭乱,因此我们希望能够「按需查看」一部分状态信息。这个时候,我们可以在show status语句后加上对应的like子句。例如,我们想要查看当前MySQL启动后的运行时间,我们可以执行如下语句:

--查询当前MySQL本次启动后的运行统计时间
show status like 'uptime';

此时,我们就可以看到如下结果:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime | 5667 |
+---------------+-------+
1 row in set (0.00 sec)

同样的,如果我们要本次MySQL启动后执行的SELECT语句的次数,我们可以执行如下语句:

show status like 'com_select';

对应输出结果如下:

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 1 |
+---------------+-------+
1 row in set (0.00 sec)

此外,与WHERE子句中的LIKE关键字类似,show status后的LIKE关键字也可以使用'_' 或'%'等通配符来进行模糊匹配。例如我们可以执行如下语句来查看MySQL服务器的线程信息:

show status like 'Thread_%';

对应输出结果如下:

+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.00 sec)

值得注意的是,在上述show status like 'com_select'指令的执行示例中,显示的SELECT语句统计信息仅仅表示当前会话连接执行的SELECT语句数量。因为,show status指令的完整语法如下:

SHOW [统计范围] STATUS [LIKE '状态项名称']
--统计范围关键字分为GLOBALSESSION(或LOCAL)两种。

show status的完整语法中,"[]"中的部分是可选的,如果我们的show status语句中不包含统计范围关键字,则默认统计范围为SESSION,也就是只统计当前连接的状态信息。如果我们需要查询自当前MySQL启动后所有连接执行的SELECT语句总数,我们可以执行如下语句:

show global status like 'com_select';

以上即是show status的详细用法。由于show status的状态统计项较多,我们就不再一一解释每个统计项的具体含义,在这里,我们仅列出部分常用的状态信息查看语句:

//--查看MySQL本次启动后的运行时间(单位:秒)
show status like 'uptime'; //--查看select语句的执行数
show [global] status like 'com_select'; //--查看insert语句的执行数
show [global] status like 'com_insert'; //--查看update语句的执行数
show [global] status like 'com_update'; //--查看delete语句的执行数
show [global] status like 'com_delete'; //--查看试图连接到MySQL(不管是否连接成功)的连接数
show status like 'connections'; //--查看线程缓存内的线程的数量。
show status like 'threads_cached'; //--查看当前打开的连接的数量。
show status like 'threads_connected'; //--查看当前打开的连接的数量。
show status like 'threads_connected'; //--查看创建用来处理连接的线程数。如果Threads_created较大,你可能要增加thread_cache_size值。
show status like 'threads_created'; //--查看激活的(非睡眠状态)线程数。
show status like 'threads_running'; //--查看立即获得的表的锁的次数。
show status like 'table_locks_immediate'; //--查看不能立即获得的表的锁的次数。如果该值较高,并且有性能问题,你应首先优化查询,然后拆分表或使用复制。
show status like 'table_locks_waited'; //--查看创建时间超过slow_launch_time秒的线程数。
show status like 'slow_launch_threads'; //--查看查询时间超过long_query_time秒的查询的个数。
show status like 'slow_queries';

使用 SHOW STATUS 查看mysql 服务器状态信息的更多相关文章

  1. MySQL优化:使用show status查看MySQL服务器状态信息

    在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...

  2. 【MySQL优化】使用show status查看MySQL服务器状态信息

    在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...

  3. 查看Zookeeper服务器状态信息的一些命令

    1.Zookeeper服务器当前节点配置信息: echo conf|nc localhost 2181 2.cons:echo cons|nc localhost 2181 输出当前服务器所有客户端连 ...

  4. 如何启用Nginx的status功能,查看服务器状态信息?

    如何查看服务器状态信息? 我们可以通过安装Nginx的功能模块,并修改Nginx的主配置文件来实现. 1.编译安装时使用--with-http_stub_status_module开启状态页面模块 [ ...

  5. MySQL显示状态信息

    MySQL显示状态信息 1.show status mysql> show status; +-----------------------------------+----------+ | ...

  6. 通过浏览器查看nginx服务器状态配置方法

    通过浏览器查看nginx服务器状态配置方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了通过浏览器查看nginx服务器状态配置方法,本文讲解开启nginx-status的配 ...

  7. 查看mysql的安装信息

    查看mysql的安装信息: #ps -ef | grep mysql usr/bin/mysql 是指:mysql的运行路径 var/lib/mysql 是指:mysql数据库文件的存放路径 usr/ ...

  8. Linux 查看 MySQL的版本信息

    Linux 查看 MySQL的版本信息 如何查看某台 Linux 主机上的 安装的 MySQL版本信息? 使用如下命令,查看 MySQL的版本信息: mysql -V 或者 mysql --versi ...

  9. 查看mysql的状态

    实时查看mysql状态连接数 查询数 etc mysqladmin  -uroot  -p '' -h status -i 1

随机推荐

  1. ie6 表格td中无内容时不显示边框的解决办法

    1.在单元格中加入一个空格.这样: <td> </td> 2.直接在table里这样写:<table border="0" cellspacing=& ...

  2. js字符串截取为数组

    var str="hello,word,java,eclipse,jsp"; //字符串截取为数组 var strArr=str.split(","); for ...

  3. php面向对象编程self和static的区别

    在php的面向对象编程中,总会遇到 class test{ public static function test(){ self::func(); static::func(); } public ...

  4. pika的阻塞式使用

    [root@cloudplatform ELK]# cat startIncHouTai.py import os # 杀掉内存中的进程 cmd='pgrep -f PutDataToKafkaInc ...

  5. 查看Windows系统里的进程已运行的时间

    搜索 ProcessExplorer ,可以去微软下载它.右键点击项类,selcet conlumns...在 Process Performance 里 选择start time.有了进程的启动时间 ...

  6. hdu3311

    #include <bits/stdc++.h> using namespace std; #define maxn 10000 #define INF 6e8 ]; ][],v[]; s ...

  7. 【AtCoder】AGC019

    A - Ice Tea Store 算一下每种零售最少的钱就行,然后优先买2,零头买1 #include <bits/stdc++.h> #define fi first #define ...

  8. python全栈开发day44-js、DOM、BOM

    JS的三大部分 一.ECMAJavaScript基础语法: 1.javascript的引入方式 1) 行内式 <script> alert(1) </script> 2) 引入 ...

  9. 007 关于Spark下的第二种模式——standalone搭建

    一:介绍 1.介绍standalone Standalone模式是Spark自身管理资源的一个模式,类似Yarn Yarn的结构: ResourceManager: 负责集群资源的管理 NodeMan ...

  10. django csrf_protect及浏览器同源策略

    1.django在检测post行为时会有诸多的限制. 为了防止跨域请求伪造安全 参考:http://www.qttc.net/201209211.html   https://www.cnblogs. ...