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)