## 28.1 使用 sys 架构的先决条件

使用前[`系统`](sys-schema.html)架构，必须满足本节中描述的先决条件。

因为[`系统`](sys-schema.html)schema 提供了另一种访问 Performance Schema 的方法，必须为 Performance Schema 启用[`系统`](sys-schema.html)架构工作。看[第 27.3 节，“性能模式启动配置”](performance-schema-startup-configuration.html).

为了完全访问[`系统`](sys-schema.html)架构，用户必须具有以下权限：

-   [`选择`](privileges-provided.html#priv_select)所有[`系统`](sys-schema.html)表和视图

-   [`执行`](privileges-provided.html#priv_execute)所有[`系统`](sys-schema.html)存储过程和函数

-   [`插入`](privileges-provided.html#priv_insert)和[`更新`](privileges-provided.html#priv_update)为了[`系统配置`](sys-sys-config.html)表，如果要对其进行更改

-   某些额外的特权[`系统`](sys-schema.html)架构存储过程和函数，如其描述中所述（例如，[`ps_setup_save()`](sys-ps-setup-save.html)程序）

    还需要对底层对象具有特权[`系统`](sys-schema.html)架构对象：

-   [`选择`](privileges-provided.html#priv_select)在任何访问的性能模式表上[`系统`](sys-schema.html)模式对象，和[`更新`](privileges-provided.html#priv_update)对于要使用的任何表进行更新[`系统`](sys-schema.html)模式对象

-   [`过程`](privileges-provided.html#priv_process)为了`INFORMATION_SCHEMA` [`INNODB_BUFFER_PAGE`](information-schema-innodb-buffer-page-table.html)桌子

    某些 Performance Schema 工具和消费者必须启用并（对于工具）定时以充分利用[`系统`](sys-schema.html)架构能力：

-   全部`等待`仪器

-   全部`阶段`仪器

-   全部`陈述`仪器

-   `*`xxx`*_当前的`和`*`xxx`*_history_long`所有事件的消费者

    您可以使用[`系统`](sys-schema.html)模式本身以启用所有其他工具和消费者：


```
CALL sys.ps_setup_enable_instrument('wait');
CALL sys.ps_setup_enable_instrument('stage');
CALL sys.ps_setup_enable_instrument('statement');
CALL sys.ps_setup_enable_consumer('current');
CALL sys.ps_setup_enable_consumer('history_long');
```

笔记

对于许多用途`系统`schema，默认的 Performance Schema 足以进行数据收集。启用刚才提到的所有仪器和消费者都会对性能产生影响，因此最好只启用您需要的附加配置。另外，请记住，如果启用附加配置，您可以轻松恢复默认配置，如下所示：

```
CALL sys.ps_setup_reset_to_default(TRUE);
```
