25.12.2.1 setup_actorstable

setup_actorstable 包含确定是否为新的前台服务器线程(与 Client 端连接关联的线程)启用监视和历史事件日志记录的信息。默认情况下,此 table 的最大大小为 100 行。要更改 table 大小,请在服务器启动时修改performance_schema_setup_actors_size系统变量。

对于每个新的前台线程,性能架构都将线程的用户和主机与setup_actorstable 的行进行匹配。如果该 table 中的行匹配,则其ENABLEDHISTORY列值分别用于为线程设置threadstable 行的INSTRUMENTEDHISTORY列。这使得可以按主机,用户或帐户(用户和主机组合)有选择地应用检测和历史事件日志记录。如果不匹配,则将线程的INSTRUMENTEDHISTORY列设置为NO

对于后台线程,没有关联的用户。 INSTRUMENTEDHISTORY默认为YES,而未查询setup_actors

setup_actorstable 的初始内容与任何用户和主机组合匹配,因此默认情况下为所有前台线程启用监视和历史事件收集:

mysql> SELECT * FROM performance_schema.setup_actors;
+------+------+------+---------+---------+
| HOST | USER | ROLE | ENABLED | HISTORY |
+------+------+------+---------+---------+
| %    | %    | %    | YES     | YES     |
+------+------+------+---------+---------+

有关如何使用setup_actorstable 来影响事件监视的信息,请参见第 25.4.6 节“通过线程进行预过滤”

setup_actorstable 的修改仅影响在修改之后创建的前台线程,而不影响现有线程。要影响现有线程,请修改threads个 table 行的INSTRUMENTEDHISTORY列。

setup_actorstable 具有以下列:

  • HOST

主机名。这应该是 Literals 名称,或'%'table 示“任何主机”。

  • USER

用户名。这应该是 Literals 名称,或'%'table 示“任何用户”。

  • ROLE

Unused.

  • ENABLED

是否为与行匹配的前景线程启用检测。该值为YESNO

  • HISTORY

是否为该行匹配的前景线程记录历史事件。该值为YESNO

setup_actorstable 允许TRUNCATE TABLE。它删除行。