使用 SHOW STATUS 查看mysql 服务器状态信息

在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‘;
时间: 2025-01-02 06:41:08

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

查看mysql连接状态各类参数

命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlist; 命令: show status; 命令:show status like '%下面变量%'; Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量. Aborted

查看nginx服务器状态

如何查看服务器状态信息(非常重要的功能) 1)编译安装时使用--with-http_stub_status_module开启状态页面模块 # nginx -s stop# cd # rm -rf /usr/local/nginx/# cd /root/lnmp_soft/nginx-1.12.2/# ./configure --with-http_ssl_module --with-stream --with-http_stub_status_module 开启SSL加密功能 开启TCP/UDP

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

通过浏览器查看nginx服务器状态配置方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了通过浏览器查看nginx服务器状态配置方法,本文讲解开启nginx-status的配置方法,并对服务器的参数做了详细讲解,需要的朋友可以参考下 复制代码 代码如下: location /nginx-status { stub_status on; #access_log /var/log/nginx/mmt_nginx_status.log; access_log off; all

查看centos服务器硬盘状态信息

windows下有HDTune可以查看磁盘的状态,防止磁盘挂掉才会自己知道,CentOS下有SMART (Self-Monitoring, Analysis and  Reporting Technology System) 同样对磁盘做状态检测 http://www.smartmontools.org/ 下面以dell R720服务器举例,/dev/sda是1T的scsi接口普通硬盘,/dev/sdd 是三块盘做的raid5 # df -h                           

查看mysql数据库状态的几条命令

命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlist; 命令: show status; 命令:show status like '%下面变量%'; Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量. Aborted

linux运维技术(查看linux服务器状态常用命令)

最近发现大数据技术的一些部署,高可用,集群等和网站的负载均衡,自动化运维,灾备等其实有很多知识都是重合的,要学好linux运维相关,在大数据的研究上也会有所提高.既然工作需要去系统的去学习linux运维的技术,那就去好好的去学习它~~,况且我还很喜欢捣鼓这个. :) 先总结了解一台服务器状态的常用命令的总结:(以下是两台服务器测试的结果) (1)查看linux版本: [[email protected] home]# lsb_release -a LSB Version: :core-4.1-a

使用nfsstat命令查看NFS服务器状态

转载于:http://www.cnblogs.com/jankie/archive/2011/09/03/2165851.html nfsstat命令显示关于NFS和到内核的远程过程调用(RPC)接口的统计信息,也可以使用该命令重新初始化该信息.如果未给定标志,默认是nfsstat -csnr命令.使用该命令显示每条信息,但不能重新初始化任何信息. nfsstat命令的主要参数如下. (1)-b:显示NFS V4服务器的其他统计信息. (2)c:只显示客户机端的NFS和RPC信息,允许用户仅查看

查看linux服务器内存信息

查看服务器内存信息 dmidecode|grep -P -A5 "Memory\s+Device"|grep Size [[email protected] home]# dmidecode|grep -P -A5 "Memory\s+Device"|grep Size Size: 16384 MB Size: No Module Installed Size: No Module Installed Size: 16384 MB Size: No Module I

查看MySQL的警告信息

在王MySQL数据库导入数据的时候经常会出现警告,这些警告很容易被忽视,今天到数据的时候突然想看看警告的内容是什么,百度了一下mysql查看警告的命令 show warnings; 命令很简明,一查看发现一般的警告是这样的 Warning | 1265 | Data truncated for column '刊名' at row 1265 还有一种是这样的 | Warning | 1366 | Incorrect string value: '\xB5\xDA\xB6\xFE\xBD\xEC.