-
Notifications
You must be signed in to change notification settings - Fork 111
sys schema使用基础环境
xiaoboluo768 edited this page Jun 9, 2020
·
2 revisions
-
在使用sys schema之前,必须满足如下条件
- sys schema支持MySQL 5.6或更高版本,5.5.x及其以下版本不支持
- 因为sys schema提供了一些代替直接访问performance_schema的视图,所以必须启用performance_schema之后sys schema的大部分功能才能正常使用
- 要完全访问sys schema,用户必须具有以下权限:
- 对所有sys表和视图具有SELECT权限
- 对所有sys存储过程和函数具有EXECUTE权限
- 对sys_config表具有INSERT、UPDATE权限
- 对某些特定的sys schema存储过程和函数需要额外权限,如,ps_setup_save()存储过程,需要临时表相关的权限
- 还有sys schema执行访问的对象相关的权限:
- 任何被sys schema访问的performance_schema表需要有SELECT权限,如果要使用sys schema对performance_schema相关表执行更新,则需要performance_schema相关表的UPDATE权限
- INFORMATION_SCHEMA.INNODB_BUFFER_PAGE表的PROCESS
- 如果要充分使用sys schma的功能,则必须启用某些performance_schema的instruments和consumers,如下:
- 所有wait instruments
- 所有stage instruments
- 所有statement instruments
- 对于所启用的类型事件的instruments,还需要启用对应类型的consumers(xxx_current和xxx_history_long),要了解某存储过程具体做了什么事情可能通过show create procedure procedure_name;语句查看
-
您可以使用sys schema本身来启用所有需要的instruments和consumers:
- 启用所有wait instruments:CALL sys.ps_setup_enable_instrument('wait');
- 启用所有stage instruments:CALL sys.ps_setup_enable_instrument('stage');
- 启用所有statement instruments:CALL sys.ps_setup_enable_instrument('statement');
- 启用所有事件类型的current表:CALL sys.ps_setup_enable_consumer('current');
- 启用所有事件类型的history_long表:CALL sys.ps_setup_enable_consumer('history_long');
-
注意:performance_schema的默认配置就可以满足sys schema的大部分数据收集功能。启用上述所提及的所有instruments和consumers会对性能产生一定影响,因此最好仅启用所需的配置。如果你在启用了一些默认配置之外的配置,则可以使用存储过程:CALL sys.ps_setup_reset_to_default(TRUE); 来快速恢复到performance_schema的默认配置
-
参考链接:https://dev.mysql.com/doc/refman/5.7/en/sys-schema-prerequisites.html
上一篇: sys schema详解目录 | 下一篇: sys schema 初体验
- 验证、测试、整理:罗小波
- QQ:309969177
- 提示:本系列文章的主体结构遵循Oracle MySQL 官方 5.7 手册中,关于information_schema、mysql schema、performance_schema、sys schema的章节结构体系,并额外添加了一些验证、测试数据。鉴于本人精力和能力有限,难免出现一些纰漏,欢迎大家踊跃指正!