MySQL优化:使用show status查看MySQL服务器状态信息
2017-07-10 16:57
549 查看
在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少
在MySQL中,我们可以使用
执行show status指令显示的部分结果
当我们执行
同样的,如果我们要本次MySQL启动后执行的
对应输出结果如下:
此外,与
或'%'等通配符来进行模糊匹配。例如我们可以执行如下语句来查看MySQL服务器的线程信息:
对应输出结果如下:
值得注意的是,在上述
在
以上即是
--查看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';
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 '状态项名称'] --统计范围关键字分为GLOBAL和SESSION(或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';
相关文章推荐
- MySQL优化:使用show status查看MySQL服务器状态信息
- mysql 优化:使用show status查看MySQL服务器状态信息
- MySQL优化知识点:使用show status查看MySQL服务器状态信息
- MySQL优化:使用show status查看MySQL服务器状态信息
- MySQL使用show status查看MySQL服务器状态信息
- [置顶] 【mysql 性能优化篇】使用show status查看MySQL服务器状态信息
- MySQL – 用SHOW STATUS 查看MySQL服务器状态
- 根据status信息对MySQL服务器进行优化
- 根据status信息对MySQL服务器进行优化
- 根据status信息对MySQL服务器进行优化
- mysql优化(1)show命令 慢查询日志 explain profiling(查看CPU、DISK I\O等信息)
- 根据status信息对MySQL服务器进行优化(转)
- 查看MYSQL连接数和服务器状态
- 通过查看mysql 配置参数、状态来优化你的mysql
- 根据status信息对MySQL服务器进行优化
- debian学习笔记3, 使用技巧,查看服务器信息,硬盘容量,版本,温度.apt和aptitude,dpkg
- 根据status信息对MySQL服务器进行优化
- 根据status信息对MySQL服务器进行优化
- 根据status信息对MySQL服务器进行优化
- 根据status信息对MySQL服务器进行优化