MySQL 8.0 参考手册 / 第 27 章 MySQL 性能模式 /
22.11 性能模式总表特征
数据库的名称performance_schema
是小写的,其中的表名也是如此。查询应以小写形式指定名称。
数据库中有很多表performance_schema
是只读的,不能修改:
mysql> TRUNCATE TABLE performance_schema.setup_instruments;
ERROR 1683 (HY000): Invalid performance_schema usage.
一些设置表具有可以修改以影响性能模式操作的列;有些还允许插入或删除行。允许截断以清除收集的事件,因此TRUNCATE TABLE
可用于包含此类信息的表,例如以前缀命名的表events_waits_
。
可以使用 截断汇总表TRUNCATE
TABLE
。通常,效果是将汇总列重置为 0 或NULL
,而不是删除行。这使您能够清除收集的值并重新启动聚合。这可能很有用,例如,在您更改了运行时配置之后。此截断行为的例外情况在各个汇总表部分中注明。
特权与其他数据库和表一样:
因为只有一组有限的权限适用于 Performance Schema 表,所以尝试GRANT ALL
用作在数据库或表级别授予权限的简写失败并出现错误:
mysql> GRANT ALL ON performance_schema.*
TO 'u1'@'localhost';
ERROR 1044 (42000): Access denied for user 'root'@'localhost'
to database 'performance_schema'
mysql> GRANT ALL ON performance_schema.setup_instruments
TO 'u2'@'localhost';
ERROR 1044 (42000): Access denied for user 'root'@'localhost'
to database 'performance_schema'
相反,授予所需的权限:
mysql> GRANT SELECT ON performance_schema.*
TO 'u1'@'localhost';
Query OK, 0 rows affected (0.03 sec)
mysql> GRANT SELECT, UPDATE ON performance_schema.setup_instruments
TO 'u2'@'localhost';
Query OK, 0 rows affected (0.02 sec)