-
Notifications
You must be signed in to change notification settings - Fork 111
编译安装配置
xiaoboluo768 edited this page Jun 8, 2020
·
2 revisions
- performance_schema在编译时是强制开启的,但可以排除performance_schema下某一类别的instruments,如下:
shell> cmake . \
-DDISABLE_PSI_STAGE=1 \ #关闭STAGE事件监视器
-DDISABLE_PSI_STATEMENT=1 #关闭STATEMENT事件监视器
- 如果你编译安装MySQL时关闭了一些performance_schema的instruments(或者可能你使用的数据库版本中某些instruments不支持,或者更早的版本连performance_schema都不支持)时,如果需要使用这些在performance_schema中不存在的instruments,需要使用mysql_upgrade命令进行升级或安装performance_schema中所有的instruments,否则,在启动配置或者运行时配置指定开启这些instruments时会报如下错误(错误日志中也会打印类似信息):
[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
- 验证mysqld是否支持Performance Schema,可以使用--verbose + --help查看详细的帮助信息,如果发现performance_schema开头的几个选项,则表示当前mysqld支持performance_schema,如果没有发现performance_schema相关的选项,说明当前数据库版本不支持performance_schema,你可能需要升级mysql版本:
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.
- 还可以登录到mysqld中,使用show engines;语句查看是否有performance_schema引擎,如果有则说明当前mysqld支持performance_schema,如果没有发现performance_schema,说明当前数据库版本不支持performance_schema,你可能需要升级mysql版本:
mysql> SHOW ENGINES\G
...
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
- PS:
- 在mysqld选项或show engines语句输出的结果中,如果看到有performance_schema相关的信息,并不代表已经启用了performance_schema,仅仅只是代表可用,如果需要启用它,还需要在服务器启动时使用系统参数performance_schema=on显式开启
- 参考链接:
- 关于cmake的详细编译选项列表及其解释,以及cmake编译可能使用到的环境变量详细信息参考链接:
- 验证、测试、整理:罗小波
- QQ:309969177
- 提示:本系列文章的主体结构遵循Oracle MySQL 官方 5.7 手册中,关于information_schema、mysql schema、performance_schema、sys schema的章节结构体系,并额外添加了一些验证、测试数据。鉴于本人精力和能力有限,难免出现一些纰漏,欢迎大家踊跃指正!