MySQL 8.4 Release Notes
29.11 性能模式通用表特征
性能模式数据库的名称是小写的,同样,数据库中的表名也是小写的。查询应该指定小写的名称。
性能模式数据库中的许多表是只读的,不能被修改:
mysql> TRUNCATE TABLE performance_schema.setup_instruments;
ERROR 1683 (HY000): Invalid performance_schema usage.
一些设置表中的列可以被修改,以影响性能模式的操作;一些表也允许插入或删除行。清除收集的事件可以使用TRUNCATE TABLE
语句,这样可以在包含这些信息的表中使用该语句,例如以events_waits_
为前缀的表。
摘要表可以使用TRUNCATE TABLE
语句。通常,该操作将重置摘要列到0或NULL
,而不是删除行。这使您可以清除收集的值并重新启动聚合。例如,在您更改了运行时配置后,这可能会有用。关于截断行为的例外情况在个别摘要表部分中有所提到。
权限与其他数据库和表相同:
由于对性能模式表的权限非常有限,使用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)