(3.15)mysql基础深入——mysql默认数据库

关键词:Mysql默认数据库,mysql系统数据库

系统数据库的组成

一共4个(5.7版本)(低版会少下列一个,多一个test默认数据库,注意test是默认安装但不是系统数据库)

【1】information_schema(可以理解成字典表)  【2】mysql(存放系统信息)  

【3】performance_schema(监控、统计、分析mysql)  【4】sys(【3】库的简化)

详细分析

【1】information_schema

  提供数据库的元数据:比如数据库的数据名,表名,列信息,访问权限,索引,视图,存储过程,函数等信息;

  

常用表:

  (1)查表:select * from information_schema.tables;   

  (2)查列:select * from information_schema.columns;

  (3)查主键值:select * from select * from information_schema.key_column_usage where table_schema='db_name' and table_name = 'tab_name' ;

  (4)查约束:select * from from information_schema.table_constraints;

  (5)查索引:select * from from information_schema.statistics;
  (6)查表在哪个库:select table_schema from tables where table_name ='tab_name'   (7)查字段在哪个表:select table_schema,table_name from columns where column_name ='column_name'

【2】mysql

 

 mysql数据库是Mysql核心的数据库,类似于sql server中的master库,oracle中的system部分功能。

  主要负责存储数据库的用户/权限等Mysql自己需要使用的控制和管理信息。

  比如:用户信息、权限信息、储存过程、envent、时间信息等

  【2.1】成本模型

    (1)engine_cost:IO  (2)server_cost:CPU

  【2.2】权限模型

    (1)columns_priv:列权限  (2)db:库权限  (3)user:用户权限

    (4)tables_priv:表权限   (5)procs_priv:存储过程/函数权限  (6)proxies_priv:代理用户权限

    (7)host:主机权限,5.7已弃用

  【2.3】innodb系列

    (1)innodb_index_stats:Innodb索引统计信息  (2)innodb表统计信息

  【2.4】其他模型

    (1)event:事件与任务调度  (2)func:函数  (3)gitd_executed:gtid,mysql启动阶段会读这个表来获取gtid里面的变量值

    (4)help_:以此开头的全是mysql帮助信息 (5)ndb_binlog_index:innodb表统计信息

    (6)plugin:插件表  (7)porc:存储过程

  

【3】performance_schema

  sys < performance_schema:收集数据库服务器性能参数,得到数据库的运行统计信息,可以更好的利用这些信息分析定位问题;

  mysql 5.5增加的,需要使用的时候需要设置参数performance_schema=on

  mysql 5.6默认打开

  这个数据库的信息相当复杂,所以oracle公司官方把performance_schema简化到sys数据库。

  该库中的表也分几类;

  (1)setup 配置表,配置监控选项

  (2)当前enents表,记录当前的哪些线程正在做一些什么事情

  (3)各种事件的历史记录表。

  (4)各种事件的统计表

  (5)杂项表

-- 常用SQL语句

use performance_schema; 

(1)哪个SQL执行最多?哪个平均响应事件最多?

  select * from events_statements_sumary_by_digest order by count_star desc limit 10;

  select * from events_statements_sumary_by_digest order by avg_timer_wait desc limit 10;
(2)哪个SQL扫描的行数最多?哪个SQL临时表用的最多?   select * from events_statements_sumary_by_digest order by sum_rows_examined desc limit 10;
  select * from events_statements_sumary_by_digest order by sum_created_tmp_disk_tables desc limit 10;

  结果集最多: order by sum_rows_sent desc
  排序数最多: order by sum_sort_rows desc (3)哪个表、文件逻辑IO最多(热数据)? select * from file_sumary_by_instance order by sum_number_of_bytes_read+sum_number_of_bytes_write desc limit 2; (4)哪个索引没有使用过? select * from table_io_waits_sumary_by_index_usage where index_name is not null and count_star=0 and object_schema <> 'mysql' order by object_schema,object_name (5)哪个索引使用最多 select * from table_io_waits_sumary_by_index_usage order by sum_timer_wait desc limit 1; (6)哪个等待事件消耗的时间最多 select * from event_wais_sumary_global_by_event_name where event_name !='idle' order by sum_timer_wait desc limit 1;

  

【4】sys

  所有的数据来自performance_schema,主要是简化DBA的工作,快速了解DB的运行情况。

  有2类表

  (1)字母开头的:适合阅读,是格式化后的数据;

  (2)X$开头的:这是适合工具采集的加工用的数据,原始数据。

  【4.1】简介库中的表信息

    (1)host开头:主机信息,IP信息

    (2)innodb开头:记录Innodb相关信息

    (3)io开头:数据库维护的相关IO信息

    (4)memory开头:内存信息

    (5)processlist:常用,显示线程的相关情况

    (6)schema开头:表的相关信息

    (7)statements开头:语句相关不同维度的信息

    (8)user开头:用户与主机相关信息

    (9)wait开头:等待相关信息

  【4.2】sys库能做什么?

    (1)谁使用了最多的资源?基于IP或是用户?

    (2)大部分连接来自哪里及发送的SQL情况?

    (3)机器执行多的SQL语句是什么样?

    (4)哪个文件产生了最多的IO,它的IO模式是怎么样的?

    (5)哪个表的IO最多?

    (6)哪张表被访问过最多?

    (7)哪些语句延迟比较严重?

    (8)哪些SQL语句使用了磁盘临时表

    (9)哪张表占用了最多的BUFFER POOL

    (10)每个库占用多少BUFFER POOL

    (11)每个链接分配多少内存?

    (12)mysql内部现在有多少个线程在运行?

详解:

use sys;

(1)谁使用了最多的资源?基于IP或是用户?

  select * from host_summary limit 10;

  select * from io_global_by_file_by_bytes limit 10;

  select * from user_summary limit 10;

  memory_global_total;

(2)大部分连接来自哪里及发送的SQL情况?

  查看当前链接情况:select host,current_connections,statements from host_summary;

  查看当前正在执行的SQL:select conn_id,user,current_statement,last_statement from session;

(3)机器执行多的SQL语句是什么样?

  select * from statement_analysis order by exec_count desc limit 10;

(4)哪个文件产生了最多的IO,它的IO模式是怎么样的?
   (5)哪个表的IO最多?(6)哪张表被访问过最多?   (5) select * from io_global_by_file_by_bytes limit 10;   (6) select * from statement_analysis order by exec_count desc limit10; (7)哪些语句延迟比较严重?   select * from statement_analysis order by avg_latency desc limit 10; (8)哪些SQL语句使用了磁盘临时表   select db,query,temp_tables,tmp_disk_tables from statement_analysis where tmp_tables >0 (9)哪张表占用了最多的BUFFER POOL   select * from innodb_buffer_stats_by_table order by pages desc limit 10; (10)每个库占用多少BUFFER POOL   select * from innodb_buffer_stats_by_schema; (11)每个链接分配多少内存? (12)mysql内部现在有多少个线程在运行?   select user,count(*) from processlist group by user;   查看所有的进程信息:  select * from processlist ;

(3.15)mysql基础深入——mysql默认数据库/系统数据库的更多相关文章

  1. (3.16)mysql基础深入——mysql字符集

    (3.16)mysql基础深入——mysql字符集 关键字:mysql字符集,mysql编码 目录 1.概念 2.常用的字符编码 3.查看mysql字符集 [3.1]查看服务器支持的字符集 [3.2] ...

  2. (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb)

    (3.12)mysql基础深入——mysql日志文件/其他文件(socket/pid/表结构/Innodb) 关键词:mysql日志文件,mysqldumpslow分析工具 目录:日志文件的分类 1. ...

  3. (3.11)mysql基础深入——mysql文件分类与配置文件管理

    (3.11)mysql基础深入——mysql文件分类与管理 关键词:mysql配置文件,mysql参数文件,mysql中的my.cnf 目录:mysql数据库文件分类: [1]参数文件:my.cnf ...

  4. MySQL基础、MySQL安装和MariaDB安装

    MySQL基础 目录 MySQL基础 关系型数据库介绍 数据结构模型 RDBMS专业名词 关系型数据库的常见组件 SQL语句 MySQL安装与配置 MySQL安装 MariaDB安装 关系型数据库介绍 ...

  5. (3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析

    (3.4)mysql基础深入——mysql.server启动脚本源码阅读与分析 my.server主要分为3大部分 [1]变量初始化部分 [2]函数声明部分 [3]具体执行部分 #!/bin/sh # ...

  6. (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest【待完善】

    (3.14)mysql基础深入——mysql 日志分析工具之pt-querty-digest 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢 ...

  7. (3.13)mysql基础深入——mysql日志分析工具之mysqlsla【待完善】

    (3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 ...

  8. (3.2)mysql基础深入——mysql源码阅读工具安装与应用

    (3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE ...

  9. (3.1)mysql基础深入——mysql二进制与源码目录结构介绍

    (3.1)mysql基础深入——mysql二进制与源码目录结构介绍 关键字:二进制目录结构,源码目录结构(编译安装目录结构) 1.二进制安装程序目录结构 [1] BIN -- mysql的可执行文件( ...

随机推荐

  1. Eclipse使用心得与技巧

    一. 常用快捷键(熟练使用快捷键可以充分提高编程效率,吐血整理...) 1,Alt + ↑上方向键:向上移动选中的代码,你可以把一行或者一段代码直接上移几行 2,Alt + ↓下方向键:向下移动选中的 ...

  2. ruby的第一次使用

    今天看购买的小册,看到推荐使用的工具是ruby写的,提供了源码地址,但是不知道怎么使用 因此尝试使用了下ruby,并记录下来 1.安装 去ruby的官网,下载windows安装包 启动 Ruby 安装 ...

  3. ASP.NET实现从服务器下载文件问题处理

    假设在服务器的根目录下有个名为Download的文件夹,这个文件夹存放一些提供给引用程序下载的文件    public void DownloadFile(string path, string na ...

  4. Win10系统中VirtualBox桥接时找不到网卡的问题

    1.主机中 点网络连接 ,点 本地网络,右键属性 2.安装 服务 磁盘安装 选择 VirtualBox 安装目录, 找到 目录文件 D:\Users\Oracle\VirtualBox\drivers ...

  5. [Bayes] Point --> Hist: Estimate "π" by R

    Verify the Monte Carlo sampling variability of "π". p = π/4 与 所得 0.7854 比较接近,故满足 Central L ...

  6. [DQN] What is Deep Reinforcement Learning

    已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...

  7. [Artoolkit] Framework Analysis of nftSimple

    What is nftSimple? Loads NFT dataset names from a configuration file. The example uses the “Pinball. ...

  8. linux log

    adb shell logcat GOODIX:v *:s cat /proc/kmsg | grep "<<" ./cbootimg.sh adb shell get ...

  9. 如何获取控件id,包名,类名

  10. Http 调用netty 服务,服务调用客户端,伪同步响应.ProtoBuf 解决粘包,半包问题.

    实际情况是: 公司需要开发一个接口给新产品使用,需求如下 1.有一款硬件设备,客户用usb接上电脑就可以,但是此设备功能比较单一,所以开发一个服务器程序,辅助此设备业务功能 2.解决方案,使用Sock ...