Skip to content

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 初体验

Clone this wiki locally