ps_setup_show_disabled() - xiaoboluo768/mysql-system-schema GitHub Wiki
-
查看当前被禁用的performance_schema配置信息,通过查询setup_actors表enabled为NO、setup_objects表enabled为NO、setup_consumers表enabled为NO、threads表INSTRUMENTED为NO、setup_instruments表enabled为NO 实现,其中,调用时传递的两个布尔型值,第一个为控制是否打印setup_instruments表中关闭的配置(instruments关闭选项的返回值可能比较长),第二个控制是否打印threads表关闭的配置,因为这俩表打印的信息最多,所以需要单独传值控制
-
参数:
- in_show_instruments BOOLEAN:是否显示关闭的instruments,返回的instruments关闭状态列表可能比较长
- in_show_threads BOOLEAN:是否显示关闭的线程
-
定义语句
DROP PROCEDURE IF EXISTS ps_setup_show_disabled;
DELIMITER $$
CREATE DEFINER='root'@'localhost' PROCEDURE ps_setup_show_disabled (
IN in_show_instruments BOOLEAN,
IN in_show_threads BOOLEAN
)
COMMENT '
Description
-----------
Shows all currently disable Performance Schema configuration.
Disabled users is only available for MySQL 5.7.6 and later.
In earlier versions it was only possible to enable users.
Parameters
-----------
in_show_instruments (BOOLEAN):
Whether to print disabled instruments (can print many items)
in_show_threads (BOOLEAN):
Whether to print disabled threads
Example
-----------
mysql> CALL sys.ps_setup_show_disabled(TRUE, TRUE);
+----------------------------+
| performance_schema_enabled |
+----------------------------+
| 1 |
+----------------------------+
1 row in set (0.00 sec)
......
+---------------------------------------------------------------------------------------+-------+
| disabled_instruments | timed |
+---------------------------------------------------------------------------------------+-------+
| wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_tc | NO |
| wait/synch/mutex/sql/LOCK_des_key_file | NO |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit | NO |
...
| memory/sql/servers_cache | NO |
| memory/sql/udf_mem | NO |
| wait/lock/metadata/sql/mdl | NO |
+---------------------------------------------------------------------------------------+-------+
547 rows in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
'
SQL SECURITY INVOKER
NOT DETERMINISTIC
READS SQL DATA
BEGIN
SELECT @@performance_schema AS performance_schema_enabled;
-- In 5.7.6 and later the setup_actors table has an ENABLED column to
-- specify whether the actor is enabled. Before that all actors matched
-- in the setup_actors table were enabled.
-- So only execute the query in 5.7.6+
/*!50706
SELECT CONCAT('\'', user, '\'@\'', host, '\'') AS disabled_users
FROM performance_schema.setup_actors
WHERE enabled = 'NO'
ORDER BY disabled_users;
*/
SELECT object_type,
CONCAT(object_schema, '.', object_name) AS objects,
enabled,
timed
FROM performance_schema.setup_objects
WHERE enabled = 'NO'
ORDER BY object_type, objects;
SELECT name AS disabled_consumers
FROM performance_schema.setup_consumers
WHERE enabled = 'NO'
ORDER BY disabled_consumers;
IF (in_show_threads) THEN
SELECT IF(name = 'thread/sql/one_connection',
CONCAT(processlist_user, '@', processlist_host),
REPLACE(name, 'thread/', '')) AS disabled_threads,
TYPE AS thread_type
FROM performance_schema.threads
WHERE INSTRUMENTED = 'NO'
ORDER BY disabled_threads;
END IF;
IF (in_show_instruments) THEN
SELECT name AS disabled_instruments,
timed
FROM performance_schema.setup_instruments
WHERE enabled = 'NO'
ORDER BY disabled_instruments;
END IF;
END$$
DELIMITER ;
上一篇: ps_setup_save()存储过程 | 下一篇: ps_setup_show_disabled_consumers()存储过程