25.2 性能架构构建配置

性能模式是强制性的,并且始终在其中编译。可以排除性能模式检测的某些部分。例如,要排除阶段和语句工具,请执行以下操作:

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

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

如果您在以前的安装中安装了 MySQL,而之前的安装是在没有性能模式(或具有丢失或过期的 table 的性能模式的较旧版本)下配置的。此问题的一种迹象是错误日志中是否存在诸如以下消息:

[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开头的变量:

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

您还可以连接到服务器,并在SHOW ENGINES的输出中查找名为PERFORMANCE_SCHEMA存储引擎的行:

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

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

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