MySQL 9.0 发行说明
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 表应用有限的权限集,因此尝试使用 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)