MySQL的SYS视图

MySQL8.0的发展越来越趋同与Oracle,为了更好的监控MySQL的一些相关指标,出现了SYS视图,用于监控。

1.MySQL版本

(root@localhost) [sys]> select @@version;
+-----------+
| @@version |
+-----------+
| 8.0.11 |
+-----------+
1 row in set (0.01 sec)

2.数据准备

(root@localhost) [ztest]> show create table zstudent;

| Table    | Create Table
+------------------------------------+
| zstudent | CREATE TABLE `zstudent` (
`stu_id` int(11) NOT NULL AUTO_INCREMENT,
`stu_name` varchar(20) DEFAULT NULL,
`sex` char(1) DEFAULT NULL,
PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 |
+-------------------------------------+
1 row in set (0.00 sec) 创建索引:
(root@localhost) [ztest]> create index idx_stu_name on zstudent (stu_name);
(root@localhost) [ztest]> create unique index idx_stu_name2 on zstudent (stu_name);

sys包含了很多总结performance Schema表的视图,这些视图成对出现,并且有些以x$前缀出现。查看并使用sys的方式:

查看performance Schema表的视图

(root@localhost) [sys]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| ztest |
+--------------------+
5 rows in set (0.01 sec) (root@localhost) [sys]> use sys
Database changed
(root@localhost) [sys]> show tables;
+-----------------------------------------------+
| Tables_in_sys |
+-----------------------------------------------+
| host_summary |
| host_summary_by_file_io |
| host_summary_by_file_io_type |
| host_summary_by_stages |
| host_summary_by_statement_latency |
| host_summary_by_statement_type |
| innodb_buffer_stats_by_schema |
| innodb_buffer_stats_by_table |
| innodb_lock_waits |
| io_by_thread_by_latency |
...................

查看表的数据访问量

(root@localhost) [sys]> select table_schema,table_name,io_read_requests,io_write_requests from schema_table_statistics where table_schema='ztest';
+--------------+------------+------------------+-------------------+
| table_schema | table_name | io_read_requests | io_write_requests |
+--------------+------------+------------------+-------------------+
| ztest | zstudent | 0 | 14 |
| ztest | zstudent2 | 0 | 7 |
+--------------+------------+------------------+-------------------+
2 rows in set (0.05 sec)

查看索引的冗余

(root@localhost) [sys]> select * from sys.schema_redundant_indexes \G
*************************** 1. row ***************************
table_schema: ztest
table_name: zstudent
redundant_index_name: idx_stu_name
redundant_index_columns: stu_name
redundant_index_non_unique: 1
dominant_index_name: idx_stu_name2
dominant_index_columns: stu_name
dominant_index_non_unique: 0
subpart_exists: 0
sql_drop_index: ALTER TABLE `ztest`.`zstudent` DROP INDEX `idx_stu_name`
1 row in set (0.01 sec)

表自增ID监控

(root@localhost) [sys]> select * From schema_auto_increment_columns\G;
*************************** 1. row ***************************
table_schema: ztest
table_name: zstudent
column_name: stu_id
data_type: int
column_type: int(11)
is_signed: 1
is_unsigned: 0
max_value: 2147483647
auto_increment: 6
auto_increment_ratio: 0.0000
1 row in set (0.04 sec)

监控全表扫描的SQL语句

(root@localhost) [sys]> select * from statements_with_full_table_scans where db='ztest' \G
*************************** 1. row ***************************
query: SELECT * FROM `zstudent`
db: ztest
exec_count: 2
total_latency: 6.58 m
no_index_used_count: 2
no_good_index_used_count: 0
no_index_used_pct: 100
rows_sent: 10
rows_examined: 10
rows_sent_avg: 5
rows_examined_avg: 5
first_seen: 2018-05-19 17:03:03.306527
last_seen: 2018-05-19 18:36:51.142365
digest: 8800ada0600ed0790d89b6ab22e5bab762c3698d308346bb542c9b2c377c4114

查看当前接入的会话

(root@localhost) [sys]> select thd_id,conn_id,user,command,current_statement,current_memory From x$session\G;
*************************** 1. row ***************************
thd_id: 68
conn_id: 28
user: root@localhost
command: Sleep
current_statement: NULL
current_memory: 34950
*************************** 2. row ***************************
thd_id: 67
conn_id: 27
user: root@localhost
command: Query
current_statement: select thd_id,conn_id,user,command,current_statement,current_memory From x$session
current_memory: 1207007
*************************** 3. row ***************************
thd_id: 45
conn_id: 4
user: sql/event_scheduler
command: Sleep
current_statement: NULL
current_memory: 16569
3 rows in set (0.17 sec)

备注:current_memory ---The number of bytes allocated by the thread(当前这个线程所需要分配的内存,单位为byte)

查看当前接入的线程

(root@localhost) [sys]> select thd_id,conn_id,user,db,command,current_statement from x$processlist;

+--------+---------+--------------------------------------+-------+---------+----------------------------------------------------------------------------+
| thd_id | conn_id | user | db | command | current_statement |
+--------+---------+--------------------------------------+-------+---------+----------------------------------------------------------------------------+
| 27 | NULL | innodb/srv_master_thread | NULL | NULL | NULL |
| 29 | NULL | innodb/dict_stats_thread | NULL | NULL | NULL |
| 30 | NULL | innodb/fts_optimize_thread | NULL | NULL | NULL |
| 47 | 6 | sql/compress_gtid_table | NULL | Daemon | NULL |
| 34 | NULL | mysqlx/acceptor_network | NULL | NULL | NULL |
| 37 | NULL | innodb/srv_purge_thread | NULL | NULL | NULL |
| 38 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 39 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 41 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 1 | NULL | sql/main | mysql | NULL | NULL |
| 68 | 28 | root@localhost | ztest | Sleep | NULL |
| 67 | 27 | root@localhost | sys | Query | select thd_id,conn_id,user,db,command,current_statement from x$processlist |
| 40 | NULL | innodb/srv_purge_thread | NULL | NULL | NULL |
| 42 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 43 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 44 | NULL | innodb/srv_worker_thread | NULL | NULL | NULL |
| 45 | 4 | sql/event_scheduler | NULL | Sleep | NULL |
| 32 | NULL | mysqlx/worker | NULL | NULL | NULL |
| 31 | NULL | mysqlx/worker | NULL | NULL | NULL |
| 46 | NULL | sql/signal_handler | NULL | NULL | NULL |
| 28 | NULL | innodb/buf_dump_thread | NULL | NULL | NULL |
........................................

查看MySQL实例消耗的磁盘IO

(root@localhost) [sys]> select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;
+----------------------------------------------+--------+
| file | avg_io |
+----------------------------------------------+--------+
| @@innodb_log_group_home_dir/ib_logfile0 | 642.62 |
| /data/mysqldata/3306/binlog/mysql-bin.000002 | 299 |
| @@innodb_data_home_dir/ibdata1 | 240.8 |
| /data/mysqldata/3306/slow_statement.log | 212 |
| /data/mysqldata/3306/binlog/mysql-bin.000001 | 119 |
| @@basedir/share/english/errmsg.sys | 83.65 |
| @@innodb_data_home_dir/ibtmp1 | 61.47 |
| @@datadir/undo_001 | 32.18 |
| @@datadir/undo_002 | 32.18 |
| @@datadir/mysql.ibd | 32.09 |
+----------------------------------------------+--------+
10 rows in set (0.49 sec)

知识点小注:当页面数据太多的时候,可以使用命令(root@localhost) [sys]> pager more;

【MySQL】MySQL 8.0的SYS视图的更多相关文章

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

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

  2. 【mysql】mysq8.0新特性

    一.MySQL8.0简介   mysql8.0现在已经发布,2016-09-12第一个DM(development milestone)版本8.0.0发布.新的版本带来很多新功能和新特性,对性能也得到 ...

  3. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  4. 我的MYSQL学习心得(十一) 视图

    我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. 第七章 mysql 事务索引以及触发器,视图等等,很重要又难一点点的部分

    [索引] 帮助快速查询 MyISAM ,InnoDB支持btree索引 Memory 支持 btree和hash索引 存储引擎支持 每个表至少16个索引   总索引长度至少256字节   创建索引的优 ...

  6. MySQL/MariaDB表表达式(3):视图

    视图是表表达式的一种,所以它也是虚拟表.对视图操作的时候会通过语句动态的从表中临时获取数据. 1.创建.修改视图 CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED ...

  7. mysql基础教程(四)-----事务、视图、存储过程和函数、流程控制

    事务 概念 事务由单独单元的一个或多个SQL语句组成,在这 个单元中,每个MySQL语句是相互依赖的.而整个单独单 元作为一个不可分割的整体,如果单元中某条SQL语句一 旦执行失败或产生错误,整个单元 ...

  8. phpMyAdmin - 错误 您应升级到 MySQL 5.5.0 或更高版本,解决办法。。。

    折腾自己的个人网站,装了个数据库管理工具,遇到您应升级到 MySQL 5.5.0 或更高版本... 采用降级phpmyadmin版本的方法解决了: 查找phpmyadmin/libraries/com ...

  9. Export Data from mysql Workbench 6.0

    原文地址:export-data-from-mysql-workbench-6-0 问题描述 I'm trying to export my database, using MySQL Workben ...

随机推荐

  1. CentOS7 如何升级Git

    CentOS7自带的git版本1.8.3.1,这个版本有点低了.于是决定折腾升级,我首先想到的是用update更新: yum update git 结果,事与原违,还是1.8.3.1.在网上提供的升级 ...

  2. Linux各目录的意义

    目录层次表准FHS FHS(Filesystem Hierarchy standard) FHS定义两层规范:1.“/”目录下的各个目录应该放什么文件数据 2.针对/usr /var两个目录的子目录来 ...

  3. java之List接口(单列集合)

    List接口概述 查询API我们可知:java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对 象称为List集合.在Li ...

  4. Spring 中的观察者模式

    一.Spring 中观察者模式的四个角色 1. 事件(ApplicationEvent) ApplicationEvent 是所有事件对象的父类.ApplicationEvent 继承自 jdk 的 ...

  5. 使用python解析ip地址

    前言 想要批量将ip地址转换为省份城市.国家或是经纬度?百度上的批量查找每次的容量太小满足不了要求?第三方库神器 - geoip2帮你解决所有烦恼. 准备工作 首先安装一下geoip2库, pip i ...

  6. Json数组(以[ ] 中括号开头)字符串转为json对象

    以 [] 开头的json数组字符串: str = "[{ "姓名":"张三", "年龄":"28" }]&qu ...

  7. Java 添加Word页眉、页脚

    本篇文章将介绍通过java程序来添加Word页眉页脚的方法.鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述: 1.添加页眉页脚 添加图片到页眉 添加文本到页眉 添加页码 2 ...

  8. ASP.NET Core 2.2 WebApi 系列【九】使用SignalR

    1.添加 SignalR 客户端库 右键点击项目->然后选择“添加” >“客户端库” 提供程序选择:unpkg ,库选择:@aspnet/signalr@1.1.4 选择“选择特定文件” ...

  9. Oracle数据库之第一篇

    1 : Oracle 简介 : 是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器IP,端口,用户名.密码,点击:连接 (CLIENT/SERVER) ...

  10. hive查询语句入门(hive DDL)

    hive DDL 启动hadoop /apps/hadoop/sbin/start-all.sh 开启MySQL库,用于存放hive的元数据 sudo service mysql start 启动hi ...