Skip to content

setup_actors

xiaoboluo768 edited this page Jun 8, 2020 · 2 revisions
  • setup_actors用于配置是否为新的前台server线程(与客户端连接相关联的线程)启用监视和历史事件日志记录。默认情况下,此表的最大行数为100。可以使用系统变量performance_schema_setup_actors_size在server启动之前更改此表的最大配置行数

    • 对于每个新的前台server线程,perfromance_schema会匹配该表中的User,Host列进行匹配,如果匹配到某个配置行,则继续匹配该行的ENABLED和HISTORY列值,ENABLED和HISTORY列值也会用于生成threads配置表中的行INSTRUMENTED和HISTORY列。如果用户线程在创建时在该表中没有匹配到User,Host列,则该线程的INSTRUMENTED和HISTORY列将设置为NO,表示不对这个线程进行监控,不记录该线程的历史事件信息。
    • 对于后台线程(如IO线程,日志线程,主线程,purged线程等),没有关联的用户, INSTRUMENTED和HISTORY列值默认为YES,并且后台线程在创建时,不会查看setup_actors表的配置,因为该表只能控制前台线程,后台线程也不具备用户、主机属性
  • setup_actors表的初始内容是匹配任何用户和主机,因此对于所有前台线程,默认情况下启用监视和历史事件收集功能,如下:

mysql> SELECT * FROM setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| %    | %    | %    | YES    | YES    |
+------+------+------+---------+---------+
  • 对setup_actors表的修改仅影响修改之后新创建的前台线程,对于修改之前已经创建的前台线程没有影响,如果要修改已经创建的前台线程的监控和历史事件记录功能,可以修改threads表行的INSTRUMENTED和HISTORY列值:

  • setup_actors表字段含义如下:

    • HOST:与grant语句类似的主机名,一个具体的字符串名字,或使用“%”表示“任何主机”
    • USER:一个具体的字符串名称,或使用“%”表示“任何用户”
    • ROLE:当前未使用,MySQL 8.0中才启用角色功能
    • ENABLED:是否启用与HOST,USER,ROLE匹配的前台线程的监控功能,有效值为:YES或NO
    • HISTORY:是否启用与HOST, USER,ROLE匹配的前台线程的历史事件记录功能,有效值为:YES或NO
  • setup_actors表允许使用TRUNCATE TABLE语句清空表,或者DELETE语句删除指定行

  • 具体如何配置该表,详情参考2.3.3.3小节"Pre-Filtering by threads"

  • 表定义语句

CREATE TABLE `setup_actors` (
  `HOST` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%',
  `USER` char(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%',
  `ROLE` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '%',
  `ENABLED` enum('YES','NO') NOT NULL DEFAULT 'YES',
  `HISTORY` enum('YES','NO') NOT NULL DEFAULT 'YES'
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8

上一篇: setup_instruments和setup_consumers配置协作示例 | 下一篇: setup_consumers表

Clone this wiki locally