gpt4 book ai didi

MySQL使用show status查看MySQL服务器状态信息

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章MySQL使用show status查看MySQL服务器状态信息由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

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

MySQL使用show status查看MySQL服务器状态信息

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

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

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

?
1
2
3
4
5
6
+ ---------------+-------+
| Variable_name | Value |
+ ---------------+-------+
| Uptime    | 5667 |
+ ---------------+-------+
1 row in set (0.00 sec)

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

?
1
show status like 'com_select' ;

对应输出结果如下:

?
1
2
3
4
5
6
+ ---------------+-------+
| Variable_name | Value |
+ ---------------+-------+
| Com_select  | 1   |
+ ---------------+-------+
1 row in set (0.00 sec)

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

?
1
show status like 'Thread_%' ;

对应输出结果如下:

?
1
2
3
4
5
6
7
8
9
+-------------------+-------+
| 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指令的完整语法如下:

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

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

?
1
show global status like 'com_select' ;

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
--查看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' ;

上面的内容就介绍到这,其他的可以参考我以前的文章.

最后此篇关于MySQL使用show status查看MySQL服务器状态信息的文章就讲到这里了,如果你想了解更多关于MySQL使用show status查看MySQL服务器状态信息的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com