在做测试的时候,我们可能需要监控一些innodb的指标,mysql在performance_schema这个库下面提供了innodb_metrics表,这个表中包含了很多的计数器,在一些情况下我们需要监控一些计数器的值。但是并不是所有的计数器都是打开的状态,有些是需要手工打开的。打开方式如下:
1开启某个计数器
SET GLOBAL innodb_monitor_enable = [counter-name|module_name|pattern|all];
比如:
mysql> SET GLOBAL innodb_monitor_enable = index_page_splits;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from INFORMATION_SCHEMA.INNODB_METRICS where name =’index_page_splits’\G
***************** 1. row *****************
NAME: index_page_splits
SUBSYSTEM: index
COUNT: 0
MAX_COUNT: NULL
MIN_COUNT: NULL
AVG_COUNT: 0
COUNT_RESET: 0
MAX_COUNT_RESET: NULL
MIN_COUNT_RESET: NULL
AVG_COUNT_RESET: NULL
TIME_ENABLED: 2018-03-14 14:34:37
TIME_DISABLED: NULL
TIME_ELAPSED: 8
TIME_RESET: NULL
STATUS: enabled
TYPE: counter
COMMENT: Number of index page splits
2禁用某些计数器
SET GLOBAL innodb_monitor_disable = [counter-name|module_name|pattern|all];
3重置某些计数器的count值为0
SET GLOBAL innodb_monitor_reset = [counter-name|module_name|pattern|all];
4重置计数器所有的值为0,执行这个之前需要将计数器禁用
SET GLOBAL innodb_monitor_reset_all = [counter-name|module_name|pattern