文档主页
MySQL 8.4 参考手册
相关文档 下载此手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man 页面 (TGZ) - 258.5Kb
Man 页面 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  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 的操作;有些也允许插入或删除行。允许截断以清除收集的事件,因此可以使用 TRUNCATE TABLE 处理包含这些类型信息的表,例如名称以 events_waits_ 为前缀的表。

可以使用 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)