在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SELECT
语句、执行了多少UPDATE
/DELETE
/INSERT
语句等统计信息,从而便于我们根据当前MySQL服务器的运行状态进行对应的调整或优化工作。
在MySQL中,我们可以使用SHOW STATUS
指令语句来查看MySQL服务器的状态信息。下面,我们以DOS命令窗口的形式连接MySQL,并执行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';
转载自: http://www.365mini.com/page/mysql-show-status.htm
相关推荐
根据status状态对Mysql数据库进行优化: 1、连接数 1.1 show variables like ‘max_connections’; 1.2、 show global status like ‘Max_used_connections’; 1.3、设置最大连接数值方法: mysqld服务器...
show status 来优化MySQL数据库 : mysql 查看MySQL服务器配置信息 mysql> show variables; 查看MySQL服务器运行的各种状态值 mysql> show global status;
在MySQL中,我们可以使用SHOW STATUS指令语句来查看MySQL服务器的状态信息。下面,我们以DOS命令窗口的形式连接MySQL,并执行show status;指令,我们将看到如下显示信息: 当我们执行show stat
根据status信息对MySQL服务器进行优化 网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的...
目标 了解什么是优化 掌握优化查询的方法 掌握优化数据库结构的方法 掌握优化 MySQL 服务器的方法 2. 什么是优化? 合理安排资源、调整系统...查看你的 mysql 数据库是否有慢查询:SHOW STATUS LIKE 'Slow_queries'
通过showstatus来优化MySQL数据库
实践通过show status来优化MySQL数据库
mysql>show table status; mysql>show table status like 'esf_seller_history'\G; mysql>show table status like 'esf_%'\G; 样例: mysql>show table status like 'esf_seller_history'\G; 1.Name 表名称 2....
Mysql的性能数据主要靠sql语句"show global status"来获取,获取的两百多个数据中,都做中文解释,有很多是很有监控价值的,例如读写比例、sql语句执行次数、innodb相关性能、锁表等等,可以用nagios来监控!
可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: mysql> show variables; 一、慢查询 mysql> show variables like ‘%slow%’;+——————+——-+| Variable_name | Value |+————...
8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...
8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...
SHOW FUNCTION STATUS 调用存储函数 语法格式为: SELECT sp_name ([func_parameter[,...]]) 存储函数创建完后,就如同系统提供的内置函数(如VERSION()),所以调用存储函数的方法也差不多,都是使用SELECT关键字。...
8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...
8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. ...
更为麻烦,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用status信息对mysql进行具体的优化。...
8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 ...