The name of the
performance_schema database is
lowercase, as are the names of tables within it. Queries should
specify the names in lowercase.
Many tables in the
are read only and cannot be modified:
mysql> TRUNCATE TABLE performance_schema.setup_instruments; ERROR 1683 (HY000): Invalid performance_schema usage.
Some of the setup tables have columns that can be modified to
affect Performance Schema operation; some also permit rows to be
inserted or deleted. Truncation is permitted to clear collected
TRUNCATE TABLE can be
used on tables containing those kinds of information, such as
tables named with a prefix of
Summary tables can be truncated with
TABLE. Generally, the effect is to reset the summary
columns to 0 or
NULL, not to remove rows. This
enables you to clear collected values and restart aggregation.
That might be useful, for example, after you have made a runtime
configuration change. Exceptions to this truncation behavior are
noted in individual summary table sections.
Privileges are as for other databases and tables:
Because only a limited set of privileges apply to Performance
Schema tables, attempts to use
GRANT ALL as
shorthand for granting privileges at the database or table level
fail with an error:
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'
Instead, grant exactly the desired privileges:
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)