MySQL sys Schema

MySQL 5.7.7及更高版本包括sys schema,这是一组帮助DBA和开发人员解释Performance schema收集的数据的对象。 sys schema对象可用于典型的调优和诊断用例。 此schema中的对象包括:

  • 将Performance Schema数据汇总为更易于理解的形式的视图。

  • 执行诸如 Performance Schema 配置和生成诊断报告等操作的存储过程。

  • 存储函数,用于查询 Performance Schema 配置并提供格式化服务。

在新安装MySQL实例时,如果将mysqld--initialize--initialize-insecure选项一起使用,则在数据目录初始化期间默认安装sys schema。如果不需要,可以在初始化后手动删除sys schema。

在升级MySQL时,mysql_upgrade会安装sys schema(如果未安装),否则将其升级到当前版本。如果不想安装或升级,可以使用:mysql_upgrade选项--skip-sys-schema

如果存在sys schema但没有version视图,mysql_upgrade会返回错误,前提是缺少此视图表示用户创建的sys schema。要在这种情况下进行升级,请先删除或重命名现有的sys schema。

从MySQL 5.7.9开始,sys schema对象的DEFINER为’mysql.sys’@’localhost’。 (在MySQL 5.7.9之前,DEFINER是’root’@’localhost’。)使用专用的mysql.sys帐户可以避免DBA重命名或删除root帐户时出现的问题。

sys Schema 视图

以下部分描述了sys schema视图。

sys模式包含许多视图,这些视图以各种方式汇总了Performance Schema表。 这些视图中的大多数成对出现,使得该对中的一个成员具有与另一个成员相同的名称,加上x$前缀。 例如,host_summary_by_file_io视图汇总了按主机分组的文件I/O,并显示从皮秒转换为更可读的值(带单位)的延迟;

mysql> SELECT * FROM sys.host_summary_by_file_io;
+------------+-------+------------+
| host | ios | io_latency |
+------------+-------+------------+
| localhost | 67570 | 5.38 s |
| background | 3468 | 4.18 s |
+------------+-------+------------+ x$host_summary_by_file_io视图汇总了相同的数据,但显示了未格式化的皮秒延迟: mysql> SELECT * FROM sys.x$host_summary_by_file_io;
+------------+-------+---------------+
| host | ios | io_latency |
+------------+-------+---------------+
| localhost | 67574 | 5380678125144 |
| background | 3474 | 4758696829416 |
+------------+-------+---------------+

没有x$前缀的视图旨在提供更加用户友好且更易于阅读的输出。 带有x$前缀的视图以原始形式显示相同的值,更适合与对数据执行自己处理的其他工具一起使用。

没有x$前缀的视图在这些方面与相应的x$视图不同:

  • 字节值使用format_bytes()以大小单位格式化。

  • 使用format_time()以时间单位格式化时间值。

  • 使用format_statement()将SQL语句截断为最大显示宽度。

  • 使用format_path()缩短路径名。

MySQL sys Schema的更多相关文章

  1. MySQL sys Schema 简单介绍-2

    之前在<MySQL sys Schema 简单介绍-1>中简单的介绍了,sys Schema库中的表.那么这些表都可以查询些什么信息呢?接下来本文将做下介绍. 1. 表的情况 1.1 统计 ...

  2. MySQL sys Schema 简单介绍-1

    参考文档: MySQL- 5.7 sys schema笔记 MySQL 5.7新特性:SYS库详解 MySQL Performance Schema&sys Schema介绍 内存分配统计视图 ...

  3. 带你认识MySQL sys schema

    前言:  MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库. sys库里 ...

  4. MySQL 5.7系列之sys schema(2)

    0.导读 MySQL 5.7引入了sys schema,有了它,我们排查分析一些问题时将更得心应手.sys schema里主要存储的是视图.存储过程.函数等. 视图:用于结果的汇总展示及配置持久化: ...

  5. 【MySQL】MySQL 5.7 sys Schema

    sys库说明:http://dev.mysql.com/doc/refman/5.7/en/sys-schema-usage.html sys库使用说明:http://dev.mysql.com/do ...

  6. [MySQL Reference Manual] 24 MySQL sys框架

    24 MySQL sys框架 24 MySQL sys框架 24.1 sys框架的前提条件 24.2 使用sys框架 24.3 sys框架进度报告 24.4 sys框架的对象 24.4.1所有sys下 ...

  7. mysql sys table

    本文详细地介绍了MySQL 5.7新引入的sys schema.首先,本文概要地介绍了sys schema的作用和定位:其次,分别介绍了sys schema中的视图.函数和存储过程:接下来,通过两个例 ...

  8. (转)MySQL- 5.7 sys schema笔记,mysql-schema

    原文:http://www.bkjia.com/Mysql/1222405.html http://www.ywnds.com/?p=5045 performance_schema提供监控策略及大量监 ...

  9. 第 9 章 MySQL数据库Schema设计的性能优化

    前言: 很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区.真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只 ...

随机推荐

  1. Codeforces 378C

    DFS连通块,思路就是搜到底,然后一个一个回溯(填上X)上来 #include <iostream> #include <stdio.h> #include <strin ...

  2. hdoj1394

    题意还告诉我们是0-n-1之间的数,那么我们每次把一个数放到后面去,求一下比他大的,还有比他小的: 比如: 1 3 6 9 0 8 5 7 4 2 逆序数num:22 3 6 9 0 8 5 7 4 ...

  3. HK算法模板+小优化(跑的快一点点)

    HUST 2604 #include <iostream> #include <cstdlib> #include <cstdio> #include <cs ...

  4. python matplotlib相关 dateutil

    dateutil:   easy_install python_dateutil pyparsing: easy_install pyparsing

  5. python 可迭代对象与迭代器之间的转换

    列表: >>> l = [1, 2, 3, 4] >>> l_iter = iter(l) >>> l_iter <list_iterato ...

  6. bzoj 4871: [Shoi2017]摧毁“树状图”【树形dp】

    做不来--参考https://www.cnblogs.com/ezyzy/p/6784872.html #include<iostream> #include<cstdio> ...

  7. Swift typealias associatedType

    使用typealias为常用数据类型起一个别名, 一方面更容易通过别名理解该类型的用途, 另一方面还可以减少日常开发的代码量. typealias使用实例: // 网络请求常用回调闭包 typeali ...

  8. list的一些功能

    x = [1,5,2,3,4] 1.列表反转序: 函数法: x.reverse()该方法没有返回值但会对列表进行反向排序. 注意 不能y=x.reverse(),会得到None 如果要的话要y=rev ...

  9. AJPFX关于hashmap和hashtable 的区别

    Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...

  10. 【转】一个Java对象到底占多大内存?

    最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...