#### 6.4.7.4 MySQL 企业防火墙参考

以下部分提供了对 MySQL Enterprise Firewall 元素的参考：

-   [MySQL 企业防火墙表](firewall-reference.html#firewall-tables)

-   [MySQL 企业防火墙存储过程](firewall-reference.html#firewall-stored-routines)

-   [MySQL 企业防火墙管理功能](firewall-reference.html#firewall-functions)

-   [MySQL 企业防火墙系统变量](firewall-reference.html#firewall-system-variables)

-   [MySQL 企业防火墙状态变量](firewall-reference.html#firewall-status-variables)

##### MySQL 企业防火墙表

MySQL Enterprise Firewall 维护每个组和每个帐户的配置文件信息。它使用表中的`mysql`用于持久存储的系统数据库和`INFORMATION_SCHEMA`或性能模式表，以提供对内存中缓存数据的视图。启用后，防火墙会根据缓存的数据做出操作决策。

-   [防火墙组配置文件表](firewall-reference.html#firewall-tables-group)

-   [防火墙帐户配置文件表](firewall-reference.html#firewall-tables-account)

###### 防火墙组配置文件表

从 MySQL 8.0.23 开始，MySQL Enterprise Firewall 使用`mysql`用于持久存储和性能模式表的系统数据库，以提供对内存中缓存数据的视图。

每个系统和性能架构表只能由具有[`选择`](privileges-provided.html#priv_select)特权。

这`mysql.firewall_groups`表列出了已注册防火墙组配置文件的名称和操作模式。该表具有以下列（具有相应的性能架构[`防火墙组`](performance-schema-firewall-groups-table.html)表具有相似但不一定相同的列）：

[](<>)[](<>)

-   `姓名`

    组配置文件名称。

-   `模式`

    配置文件的当前操作模式。允许的模式值是`离开`,`检测`,`保护`， 和`记录`.有关其含义的详细信息，请参阅[防火墙概念](firewall-usage.html#firewall-concepts).

-   `用户主机`

    组配置文件的培训帐户，当配置文件在时使用`记录`模式。值为`空值`，或非`空值`具有格式的帐户`*`用户名`*@*`主机名`*`：

    -   如果值为`空值`，防火墙记录从属于该组成员的任何帐户收到的语句的允许列表规则。

    -   如果该值为非`空值`，防火墙仅记录从指定帐户（应该是该组的成员）收到的语句的允许列表规则。

    这`mysql.firewall_group_allowlist`表列出了已注册防火墙组配置文件的许可名单规则。该表具有以下列（具有相应的性能架构[`firewall_group_allowlist`](performance-schema-firewall-group-allowlist-table.html)表具有相似但不一定相同的列）：

[](<>)[](<>)

-   `姓名`

    组配置文件名称。

-   `规则`

    一个规范化的语句，指示配置文件的可接受的语句模式。配置文件允许列表是其规则的联合。

-   `ID`

    一个整数列，它是表的主键。

    这`mysql.firewall_membership`表列出了已注册防火墙组配置文件的成员（帐户）。该表具有以下列（具有相应的性能架构[`firewall_membership`](performance-schema-firewall-membership-table.html)表具有相似但不一定相同的列）：

[](<>)[](<>)

-   `GROUP_ID`

    组配置文件名称。

-   `会员ID`

    作为配置文件成员的帐户的名称。

###### 防火墙帐户配置文件表

MySQL Enterprise Firewall 使用数据库中的表维护帐户配置文件信息`mysql`用于持久存储的系统数据库和`INFORMATION_SCHEMA`表以提供对内存中缓存数据的视图。

每个`mysql`系统数据库表只能由具有[`选择`](privileges-provided.html#priv_select)特权。这`INFORMATION_SCHEMA`任何人都可以访问表格。

从 MySQL 8.0.26 开始，这些表已被弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

这`mysql.firewall_users`表列出了注册的防火墙帐户配置文件的名称和操作模式。该表具有以下列（具有相应的[`INFORMATION_SCHEMA.MYSQL_FIREWALL_USERS`](information-schema-mysql-firewall-users-table.html)表具有相似但不一定相同的列）：

[](<>)[](<>)

-   `用户主机`

    帐户配置文件名称。每个帐户名称都有格式`*`用户名`*@*`主机名`*`.

-   `模式`

    配置文件的当前操作模式。允许的模式值是`离开`,`检测`,`保护`,`记录`， 和`重置`.有关其含义的详细信息，请参阅[防火墙概念](firewall-usage.html#firewall-concepts).

    这`mysql.firewall_whitelist`表列出了已注册防火墙帐户配置文件的许可名单规则。该表具有以下列（具有相应的[`INFORMATION_SCHEMA.MYSQL_FIREWALL_WHITELIST`](information-schema-mysql-firewall-whitelist-table.html)表具有相似但不一定相同的列）：

[](<>)[](<>)

-   `用户主机`

    帐户配置文件名称。每个帐户名称都有格式`*`用户名`*@*`主机名`*`.

-   `规则`

    一个规范化的语句，指示配置文件的可接受语句模式。配置文件允许列表是其规则的联合。

-   `ID`

    一个整数列，它是表的主键。此列是在 MySQL 8.0.12 中添加的。

##### MySQL 企业防火墙存储过程

MySQL Enterprise Firewall 存储过程执行诸如向防火墙注册配置文件、建立其操作模式以及管理缓存和持久存储之间的防火墙数据传输等任务。这些过程调用为较低级别任务提供 API 的管理功能。

防火墙存储过程是在`mysql`系统数据库。要调用防火墙存储过程，请在`mysql`是默认数据库，或者使用数据库名称限定过程名称。例如：

```
CALL mysql.sp_set_firewall_group_mode(group, mode);
```

-   [防火墙组配置文件存储过程](firewall-reference.html#firewall-stored-routines-group)

-   [防火墙帐户配置文件存储过程](firewall-reference.html#firewall-stored-routines-account)

-   [防火墙杂项存储过程](firewall-reference.html#firewall-stored-routines-miscellaneous)

###### 防火墙组配置文件存储过程

这些存储过程对防火墙组配置文件执行管理操作：

-   `sp_firewall_group_delist(*`团体`*, *`用户`*)`

    [](<>)[](<>)

    此存储过程从防火墙组配置文件中删除帐户。

    如果调用成功，则对内存缓存和持久存储进行组成员身份的更改。

    论据：

    -   *`团体`*：受影响的组配置文件的名称。

    -   *`用户`*：要删除的帐户，作为字符串`*`用户名`*@*`主机名`*`格式。

        例子：

    ```
    CALL sp_firewall_group_delist('g', 'fwuser@localhost');
    ```

    此过程是在 MySQL 8.0.23 中添加的。

-   `sp_firewall_group_enlist(*`团体`*, *`用户`*)`

    [](<>)[](<>)

    此存储过程将帐户添加到防火墙组配置文件。在将帐户添加到组之前，无需将帐户本身注册到防火墙。

    如果调用成功，则对内存缓存和持久存储进行组成员身份的更改。

    论据：

    -   *`团体`*：受影响的组配置文件的名称。

    -   *`用户`*：要添加的帐户，作为字符串`*`用户名`*@*`主机名`*`格式。

        例子：

    ```
    CALL sp_firewall_group_enlist('g', 'fwuser@localhost');
    ```

    此过程是在 MySQL 8.0.23 中添加的。

-   `sp_reload_firewall_group_rules(*`团体`*)`

    [](<>)[](<>)

    此存储过程提供对各个组配置文件的防火墙操作的控制。该过程使用防火墙管理功能从存储在`mysql.firewall_group_allowlist`桌子。

    论据：

    -   *`团体`*：受影响的组配置文件的名称。

        例子：

    ```
    CALL sp_reload_firewall_group_rules('myapp');
    ```

    警告

    此过程在从持久存储重新加载它们之前清除组配置文件内存中的允许列表规则，并将配置文件模式设置为`离开`.如果配置文件模式不是`离开`在...之前`sp_reload_firewall_group_rules()`调用，使用`sp_set_firewall_group_mode()`重新加载规则后恢复其以前的模式。例如，如果配置文件位于`保护`模式，调用后不再正确`sp_reload_firewall_group_rules()`你必须将它设置为`保护`再次明确。

    此过程是在 MySQL 8.0.23 中添加的。

-   `sp_set_firewall_group_mode(*`团体`*, *`模式`*)`

    [](<>)[](<>)

    在向防火墙注册配置文件（如果尚未注册）之后，此存储过程为防火墙组配置文件建立操作模式。该过程还根据需要调用防火墙管理功能，以在缓存和持久存储之间传输防火墙数据。这个过程可能会被调用，即使`mysql_firewall_mode`系统变量是`离开`，尽管在启用防火墙之前设置配置文件的模式不会产生任何操作效果。

    如果配置文件以前存在，则对其的任何录制限制都保持不变。要设置或清除限制，请调用`sp_set_firewall_group_mode_and_user()`反而。

    论据：

    -   *`团体`*：受影响的组配置文件的名称。

    -   *`模式`*：配置文件的操作模式，作为字符串。允许的模式值是`离开`,`检测`,`保护`， 和`记录`.有关其含义的详细信息，请参阅[防火墙概念](firewall-usage.html#firewall-concepts).

        例子：

    ```
    CALL sp_set_firewall_group_mode('myapp', 'PROTECTING');
    ```

    此过程是在 MySQL 8.0.23 中添加的。

-   `sp_set_firewall_group_mode_and_user(*`团体`*, *`模式`*, *`用户`*)`

    [](<>)[](<>)

    此存储过程向防火墙注册一个组并建立其操作模式，类似于`sp_set_firewall_group_mode()`, 还指定组在时要使用的培训帐户`记录`模式。

    论据：

    -   *`团体`*：受影响的组配置文件的名称。

    -   *`模式`*：配置文件的操作模式，作为字符串。允许的模式值是`离开`,`检测`,`保护`， 和`记录`.有关其含义的详细信息，请参阅[防火墙概念](firewall-usage.html#firewall-concepts).

    -   *`用户`*：组配置文件的培训帐户，当配置文件在时使用`记录`模式。值为`空值`，或非`空值`具有格式的帐户`*`用户名`*@*`主机名`*`：

        -   如果值为`空值`，防火墙记录从属于该组成员的任何帐户收到的语句的允许列表规则。

        -   如果该值为非`空值`，防火墙仅记录从指定帐户（应该是该组的成员）收到的语句的允许列表规则。

        例子：

    ```
    CALL sp_set_firewall_group_mode_and_user('myapp', 'RECORDING', 'myapp_user1@localhost');
    ```

    此过程是在 MySQL 8.0.23 中添加的。

###### 防火墙帐户配置文件存储过程

这些存储过程对防火墙帐户配置文件执行管理操作：

-   `sp_reload_firewall_rules(*`用户`*)`

    [](<>)[](<>)

    此存储过程提供对单个帐户配置文件的防火墙操作的控制。该过程使用防火墙管理功能从存储在`mysql.firewall_whitelist`桌子。

    论据：

    -   *`用户`*：受影响帐户配置文件的名称，作为字符串`*`用户名`*@*`主机名`*`格式。

        例子：

    ```
    CALL mysql.sp_reload_firewall_rules('fwuser@localhost');
    ```

    警告

    此过程在从持久存储重新加载帐户配置文件内存允许列表规则之前清除它们，并将配置文件模式设置为`离开`.如果配置文件模式不是`离开`在...之前`sp_reload_firewall_rules()`调用，使用`sp_set_firewall_mode()`重新加载规则后恢复其以前的模式。例如，如果配置文件位于`保护`模式，调用后不再正确`sp_reload_firewall_rules()`你必须将它设置为`保护`再次明确。

    从 MySQL 8.0.26 开始，此过程已被弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

-   `sp_set_firewall_mode(*`用户`*, *`模式`*)`

    [](<>)[](<>)

    在向防火墙注册配置文件（如果尚未注册）之后，此存储过程为防火墙帐户配置文件建立操作模式。该过程还根据需要调用防火墙管理功能，以在缓存和持久存储之间传输防火墙数据。这个过程可能会被调用，即使`mysql_firewall_mode`系统变量是`离开`，尽管在启用防火墙之前设置配置文件的模式不会产生任何操作效果。

    论据：

    -   *`用户`*：受影响帐户配置文件的名称，作为字符串`*`用户名`*@*`主机名`*`格式。

    -   *`模式`*：配置文件的操作模式，作为字符串。允许的模式值是`离开`,`检测`,`保护`,`记录`， 和`重置`.有关其含义的详细信息，请参阅[防火墙概念](firewall-usage.html#firewall-concepts).

        将帐户配置文件切换到任何模式，但`记录`将其防火墙缓存数据同步到`mysql`提供持久底层存储的系统数据库表。从模式切换`离开`到`记录`从`mysql.firewall_whitelist`表进入缓存。

        如果帐户配置文件的许可列表为空，则无法将其模式设置为`保护`因为配置文件会拒绝每个语句，从而有效地禁止帐户执行语句。作为对这种模式设置尝试的响应，防火墙会生成一条诊断消息，该消息作为结果集而不是 SQL 错误返回：

    ```
    mysql> CALL mysql.sp_set_firewall_mode('a@b','PROTECTING');
    +----------------------------------------------------------------------+
    | set_firewall_mode(arg_userhost, arg_mode)                            |
    +----------------------------------------------------------------------+
    | ERROR: PROTECTING mode requested for a@b but the allowlist is empty. |
    +----------------------------------------------------------------------+
    ```

    从 MySQL 8.0.26 开始，此过程已被弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

###### 防火墙杂项存储过程

这些存储过程执行各种防火墙管理操作。

-   `sp_migrate_firewall_user_to_group(*`用户`*, *`团体`*)`

    [](<>)[](<>)

    从 MySQL 8.0.26 开始，不推荐使用帐户配置文件，因为组配置文件可以做任何帐户配置文件可以做的事情。这`sp_migrate_firewall_user_to_group()`存储过程将防火墙帐户配置文件转换为组配置文件，该帐户作为其单个登记成员。转换过程在[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

    该例程需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    论据：

    -   *`用户`*：要转换为组配置文件的帐户配置文件的名称，作为字符串`*`用户名`*@*`主机名`*`格式。帐户资料必须存在，并且当前不得在`记录`模式。

    -   *`团体`*：新组配置文件的名称，该名称必须不存在。新组配置文件将指定帐户作为其单一登记成员，并将该成员设置为组培训帐户。组配置文件操作模式取自帐户配置文件操作模式。

        例子：

    ```
    CALL sp_migrate_firewall_user_to_group('fwuser@localhost', 'mygroup);
    ```

    此过程是在 MySQL 8.0.26 中添加的。

##### MySQL 企业防火墙管理功能

MySQL 企业防火墙管理功能为较低级别的任务提供 API，例如将防火墙缓存与底层系统表同步。

*在正常操作下，这些函数由防火墙存储过程调用，而不是由用户直接调用。*出于这个原因，这些函数描述不包括详细信息，例如有关其参数和返回类型的信息。

-   [防火墙组配置文件功能](firewall-reference.html#firewall-functions-group)

-   [防火墙帐户配置文件功能](firewall-reference.html#firewall-functions-account)

-   [防火墙杂项功能](firewall-reference.html#firewall-functions-miscellaneous)

###### 防火墙组配置文件功能

这些函数对防火墙组配置文件执行管理操作：

-   [](<>) [`firewall_group_delist(*`团体`*, *`用户`*)`](firewall-reference.html#function_firewall-group-delist)

    [](<>)[](<>)

    此功能从组配置文件中删除帐户。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    例子：

    ```
    SELECT firewall_group_delist('g', 'fwuser@localhost');
    ```

    此功能是在 MySQL 8.0.23 中添加的。

-   [](<>) [`firewall_group_enlist(*`团体`*, *`用户`*)`](firewall-reference.html#function_firewall-group-enlist)

    [](<>)[](<>)

    此功能将帐户添加到组配置文件。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    在将帐户添加到组之前，无需将帐户本身注册到防火墙。

    例子：

    ```
    SELECT firewall_group_enlist('g', 'fwuser@localhost');
    ```

    此功能是在 MySQL 8.0.23 中添加的。

-   [](<>) [`read_firewall_group_allowlist(*`团体`*, *`规则`*)`](firewall-reference.html#function_read-firewall-group-allowlist)

    [](<>)[](<>)

    此聚合函数通过[`选择`](select.html)关于声明`mysql.firewall_group_allowlist`桌子。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    例子：

    ```
    SELECT read_firewall_group_allowlist('my_fw_group', fgw.rule)
    FROM mysql.firewall_group_allowlist AS fgw
    WHERE NAME = 'my_fw_group';
    ```

    此功能是在 MySQL 8.0.23 中添加的。

-   [](<>) [`read_firewall_groups(*`团体`*, *`模式`*, *`用户`*)`](firewall-reference.html#function_read-firewall-groups)

    [](<>)[](<>)

    此聚合函数通过一个更新防火墙组配置文件缓存[`选择`](select.html)关于声明`mysql.firewall_groups`桌子。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    例子：

    ```
    SELECT read_firewall_groups('g', 'RECORDING', 'fwuser@localhost')
    FROM mysql.firewall_groups;
    ```

    此功能是在 MySQL 8.0.23 中添加的。

-   [](<>) [`set_firewall_group_mode(*`团体`*, *`模式`*[, *`用户`*])`](firewall-reference.html#function_set-firewall-group-mode)

    [](<>)[](<>)

    此功能管理组配置文件缓存，建立配置文件操作模式，并可选择指定配置文件培训帐户。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权。

    如果可选*`用户`*没有给出论据，任何先前的*`用户`*配置文件的设置保持不变。要更改设置，请使用第三个参数调用该函数。

    如果可选*`用户`*给定参数，它指定组配置文件的培训帐户，当配置文件位于`记录`模式。值为`空值`，或非`空值`具有格式的帐户`*`用户名`*@*`主机名`*`：

    -   如果值为`空值`，防火墙记录从属于该组成员的任何帐户收到的语句的允许列表规则。

    -   如果该值为非`空值`，防火墙仅记录从指定帐户（应该是该组的成员）收到的语句的允许列表规则。

        例子：

    ```
    SELECT set_firewall_group_mode('g', 'DETECTING');
    ```

    此功能是在 MySQL 8.0.23 中添加的。

###### 防火墙帐户配置文件功能

这些函数对防火墙帐户配置文件执行管理操作：

-   [](<>) [`read_firewall_users(*`用户`*, *`模式`*)`](firewall-reference.html#function_read-firewall-users)

    [](<>)[](<>)

    此聚合函数通过以下方式更新防火墙帐户配置文件缓存`选择`关于声明`mysql.firewall_users`桌子。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权或已弃用[`极好的`](privileges-provided.html#priv_super)特权。

    例子：

    ```
    SELECT read_firewall_users('fwuser@localhost', 'RECORDING')
    FROM mysql.firewall_users;
    ```

    从 MySQL 8.0.26 开始，此功能已弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

-   [](<>) [`read_firewall_whitelist(*`用户`*, *`规则`*)`](firewall-reference.html#function_read-firewall-whitelist)

    [](<>)[](<>)

    此聚合函数通过`选择`关于声明`mysql.firewall_whitelist`桌子。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权或已弃用[`极好的`](privileges-provided.html#priv_super)特权。

    例子：

    ```
    SELECT read_firewall_whitelist('fwuser@localhost', fw.rule)
    FROM mysql.firewall_whitelist AS fw
    WHERE USERHOST = 'fwuser@localhost';
    ```

    从 MySQL 8.0.26 开始，此功能已弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

-   [](<>) [`设置防火墙模式（*`用户`*, *`模式`*)`](firewall-reference.html#function_set-firewall-mode)

    [](<>)[](<>)

    此功能管理帐户配置文件缓存并建立配置文件操作模式。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权或已弃用[`极好的`](privileges-provided.html#priv_super)特权。

    例子：

    ```
    SELECT set_firewall_mode('fwuser@localhost', 'RECORDING');
    ```

    从 MySQL 8.0.26 开始，此功能已弃用，并且在未来的 MySQL 版本中可能会被删除。看[将帐户配置文件迁移到组配置文件](firewall-usage.html#firewall-account-profile-migration).

###### 防火墙杂项功能

这些函数执行各种防火墙操作：

-   [](<>) [`mysql_firewall_flush_status()`](firewall-reference.html#function_mysql-firewall-flush-status)

    [](<>)[](<>)

    此函数将几个防火墙状态变量重置为 0：

    -   [`Firewall_access_denied`](firewall-reference.html#statvar_Firewall_access_denied)

    -   [`Firewall_access_granted`](firewall-reference.html#statvar_Firewall_access_granted)

    -   [`Firewall_access_suspicious`](firewall-reference.html#statvar_Firewall_access_suspicious)

        此功能需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权或已弃用[`极好的`](privileges-provided.html#priv_super)特权。

        例子：

    ```
    SELECT mysql_firewall_flush_status();
    ```

-   [](<>) [`normalize_statement(*`stmt`*)`](firewall-reference.html#function_normalize-statement)

    [](<>)[](<>)

    此函数将 SQL 语句规范化为用于白名单规则的摘要形式。它需要[`FIREWALL_ADMIN`](privileges-provided.html#priv_firewall-admin)特权或已弃用[`极好的`](privileges-provided.html#priv_super)特权。

    例子：

    ```
    SELECT normalize_statement('SELECT * FROM t1 WHERE c1 > 2');
    ```

    笔记

    相同的摘要功能可在防火墙上下文之外使用[`STATEMENT_DIGEST_TEXT()`](encryption-functions.html#function_statement-digest-text)SQL 函数。

##### MySQL 企业防火墙系统变量

MySQL Enterprise Firewall 支持以下系统变量。使用它们来配置防火墙操作。除非安装了防火墙，否则这些变量不可用（请参阅[第 6.4.7.2 节，“安装或卸载 MySQL 企业防火墙”](firewall-installation.html)）。

-   [](<>) [`mysql_firewall_mode`](firewall-reference.html#sysvar_mysql_firewall_mode)

    [](<>)[](<>)

    | 命令行格式 | `--mysql-firewall-mode[={OFF|ON}]` |
    | ----- | ---------------------------------- |
    | 系统变量 | `[mysql_firewall_mode](firewall-reference.html#sysvar_mysql_firewall_mode)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `在` |

    MySQL Enterprise Firewall 是启用（默认）还是禁用。

-   [](<>) [`mysql_firewall_trace`](firewall-reference.html#sysvar_mysql_firewall_trace)

    [](<>)[](<>)

    | 命令行格式 | `--mysql-firewall-trace[={OFF|ON}]` |
    | ----- | ----------------------------------- |
    | 系统变量 | `[mysql_firewall_trace](firewall-reference.html#sysvar_mysql_firewall_trace)` |
    | 范围 | 全球的 |
    | 动态的 | 是的 |
    | [`SET_VAR`](optimizer-hints.html#optimizer-hints-set-var)提示适用 | 不 |
    | 类型 | 布尔值 |
    | 默认值 | `离开` |

    MySQL 企业防火墙跟踪是启用还是禁用（默认）。什么时候[`mysql_firewall_trace`](firewall-reference.html#sysvar_mysql_firewall_trace)启用，对于`保护`模式下，防火墙将拒绝的语句写入错误日志。

##### MySQL 企业防火墙状态变量

MySQL Enterprise Firewall 支持以下状态变量。使用它们来获取有关防火墙运行状态的信息。除非安装了防火墙，否则这些变量不可用（请参阅[第 6.4.7.2 节，“安装或卸载 MySQL 企业防火墙”](firewall-installation.html)）。每当防火墙状态变量设置为 0`MYSQL_防火墙`插件已安装或服务器已启动。其中许多被重置为零[`mysql_firewall_flush_status()`](firewall-reference.html#function_mysql-firewall-flush-status)功能（见[MySQL 企业防火墙管理功能](firewall-reference.html#firewall-functions)）。

-   [](<>) [`Firewall_access_denied`](firewall-reference.html#statvar_Firewall_access_denied)

    [](<>)[](<>)

    MySQL 企业防火墙拒绝的语句数。

-   [](<>) [`Firewall_access_granted`](firewall-reference.html#statvar_Firewall_access_granted)

    [](<>)[](<>)

    MySQL Enterprise Firewall 接受的语句数。

-   [](<>) [`Firewall_access_suspicious`](firewall-reference.html#statvar_Firewall_access_suspicious)

    [](<>)[](<>)

    MySQL Enterprise Firewall 记录的对处于`检测`模式。

-   [](<>) [`防火墙缓存条目`](firewall-reference.html#statvar_Firewall_cached_entries)

    [](<>)[](<>)

    MySQL Enterprise Firewall 记录的语句数，包括重复。
