文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  MySQL Performance Schema  /  Performance Schema 通用表特征

29.11 Performance Schema 通用表特征

performance_schema 数据库的名称是小写,数据库中的表名也是小写。查询应以小写形式指定名称。

performance_schema 数据库中的许多表是只读的,无法修改

mysql> TRUNCATE TABLE performance_schema.setup_instruments;
ERROR 1683 (HY000): Invalid performance_schema usage.

一些设置表包含可以修改的列,以影响 Performance Schema 的操作;一些表还允许插入或删除行。截断操作允许清除收集的事件,因此可以对包含此类信息的表(例如,名称以 events_waits_ 为前缀的表)使用 TRUNCATE TABLE

摘要表可以使用 TRUNCATE TABLE 进行截断。通常,效果是将摘要列重置为 0 或 NULL,而不是删除行。这使您能够清除收集的值并重新启动聚合。例如,在您进行了运行时配置更改后,这可能很有用。此截断行为的例外情况在各个摘要表部分中说明。

权限与其他数据库和表相同

  • 要从 performance_schema 表中检索数据,您必须具有 SELECT 权限。

  • 要更改可以修改的列,您必须具有 UPDATE 权限。

  • 要截断可以截断的表,您必须具有 DROP 权限。

由于仅对 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)