show status
show status可以查询显示出当前mysql server的状态信息。该语句不需要任何权限。
对于show status可以时用like子句,模糊检索需要的状态信息。如:
SHOW STATUS LIKE \'Key%\';
show status非为global和session级状态信息。对于session和global的含义可以参考我的之前文章Mysql中的变量
SHOW SESSION STATUS;
SHOW GLOBAL STATUS;
show status展示的状态信息非常多,但是常用的也就以下几类:
1.关于innodb行锁:
- Innodb_row_lock_current_waits
- Innodb_row_lock_time
- Innodb_row_lock_time_avg
- Innodb_row_lock_time_max
- Innodb_row_lock_waits
2.关于表锁
- Table_locks_immediate
- Table_locks_waited
3.关于表类
- Created_tmp_disk_tables
- Created_tmp_tables
- Open_table_definitins
- Open_tables
- Opened_table_definitions
- Opened_tables
INNODB_LOCK_WAITS表
可以通过查询该表,获取当前innodb存储引擎的等待锁信息。
INNODB_TRX
可以查询该表,获取当前server开启的的事务信息。
等等。总的来说,mysql实例一般有两个schema:
-
information_schema:该schema中有很多统计表,有存储引擎相关的、事务的、锁的等等,都是关于server运行时的一些软性资源信息;
-
performance_schema:该schema主要包含server运行的硬性资源使用统计;