该 setup_actors 表包含确定是否启用前台服务器线程(与客户端连接关联的线程)的监控和历史事件日志记录的信息。该表的默认最大大小为 100 行。要更改表大小,请在服务器启动时修改 performance_schema_setup_actors_size 系统变量。
对于每个新的前台线程,Performance Schema 都会将线程的用户和主机与 setup_actors 表的行进行匹配。如果找到匹配的行,则使用该行的 ENABLED 和 HISTORY 列值来设置 threads 表的 INSTRUMENTED 和 HISTORY 列值,从而选择性地应用监控和历史事件日志记录到每个主机、用户或账户(用户和主机组合)。如果没有找到匹配的行,则 INSTRUMENTED 和 HISTORY 列值将被设置为 NO。
对于后台线程,没有关联的用户。INSTRUMENTED 和 HISTORY 默认为 YES,且不咨询 setup_actors。
初始的 setup_actors 表的内容将匹配任何用户和主机组合,因此默认情况下所有前台线程都启用监控和历史事件日志记录:
mysql> SELECT * FROM performance_schema.setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| % | % | % | YES | YES |
+------+------+------+---------+---------+
有关如何使用 setup_actors 表来影响事件监控的信息,请参阅 第 29.4.6 节,“按线程预过滤”。
对 setup_actors 表的修改仅影响后续创建的前台线程,而不影响现有的线程。要影响现有的线程,请修改 threads 表的 INSTRUMENTED 和 HISTORY 列。
该 setup_actors 表具有以下列:
-
HOST主机名。这应该是一个文字名称,或者
'%',表示“任何主机”。 -
USER用户名。这应该是一个文字名称,或者
'%',表示“任何用户”。 -
ROLE未使用。
-
ENABLED是否为前台线程启用监控。值为
YES或NO。 -
HISTORY是否为前台线程记录历史事件。值为
YES或NO。
该 setup_actors 表具有以下索引:
-
主键在 (
HOST,USER,ROLE) 上
TRUNCATE TABLE 在 setup_actors 表上是允许的。它将删除行。