Documentation Home
MySQL 8.0 参考手册  / 第 27 章 MySQL 性能模式  /  25.2 性能模式构建配置

25.2 性能模式构建配置

性能模式是强制性的,并且总是被编译进去。可以排除性能模式检测的某些部分。例如,要排除阶段和语句检测,请执行以下操作:

$> cmake . \
        -DDISABLE_PSI_STAGE=1 \
        -DDISABLE_PSI_STATEMENT=1

有关详细信息,请参阅 第 2.9.7 节“MySQL 源配置选项”中CMake选项 的说明。 DISABLE_PSI_XXX

如果您在以前的安装上安装 MySQL,该安装是在没有性能模式的情况下配置的(或者使用具有丢失或过时表的旧版本的性能模式)。此问题的一个迹象是错误日志中存在如下消息:

[ERROR] Native table 'performance_schema'.'events_waits_history'
has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_history_long'
has the wrong structure
...

要纠正该问题,请执行 MySQL 升级过程。请参阅 第 2.11 节,“升级 MySQL”

要验证服务器是否使用性能模式支持构建,请检查其帮助输出。如果 Performance Schema 可用,输出会提到几个名称以 开头的变量performance_schema

$> mysqld --verbose --help
...
  --performance_schema
                      Enable the performance schema.
  --performance_schema_events_waits_history_long_size=#
                      Number of rows in events_waits_history_long.
...

您还可以连接到服务器并在以下位置的输出中查找命名PERFORMANCE_SCHEMA存储引擎的行SHOW ENGINES

mysql> SHOW ENGINES\G
...
      Engine: PERFORMANCE_SCHEMA
     Support: YES
     Comment: Performance Schema
Transactions: NO
          XA: NO
  Savepoints: NO
...

如果在构建时未将性能模式配置到服务器中 PERFORMANCE_SCHEMA,则输出中不会出现任何行SHOW ENGINES。您可能会performance_schema在 的输出中看到 listed SHOW DATABASES,但它没有表格且无法使用。

PERFORMANCE_SCHEMA输出中 的一行SHOW ENGINES表示性能模式可用,而不是已启用。要启用它,您必须在服务器启动时这样做,如下一节所述。