MySQL 8.4 发行说明
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 表,因此尝试使用 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)