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

22.2 性能模式构建配置

要使 Performance Schema 可用,必须在构建时将其配置到 MySQL 服务器中。Oracle Corporation 提供的二进制 MySQL 发行版配置为支持 Performance Schema。如果您使用来自其他供应商的二进制 MySQL 发行版,请与供应商核实该发行版是否已正确配置。

如果您从源代码分发构建 MySQL,请通过运行启用选项的CMake来 启用性能模式WITH_PERFSCHEMA_STORAGE_ENGINE

$> cmake . -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

使用该选项配置 MySQL -DWITHOUT_PERFSCHEMA_STORAGE_ENGINE=1 可防止包含性能模式,因此如果您希望包含它,请不要使用此选项。请参阅 第 2.9.7 节,“MySQL 源配置选项”

如果您在以前的安装上安装 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表示性能模式可用,而不是已启用。要启用它,您必须在服务器启动时这样做,如下一节所述。