(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. easyradius隆重发布ROS API计费接口,支持ROS 3.3以上版本,实现简单快捷的ROS宽带计费系统云端版

    easyradius对接ROS也是使用的是ROS的api接口,即您要开启 /ip /service api服务,不了解api接口的,可以自己百度噢 开启API,就到easyradius配置通讯接口,具 ...

  2. Mysql 查看连接数,状态 最大并发数 && 怎么设置才合理

    show status like '%max_connections%'; ##mysql最大连接数 set global max_connections=1000 ##重新设置 show varia ...

  3. Git 修改远端仓库地址

    方法有三种:1.修改命令git remote set-url origin [url] 例如:git remote set-url origin gitlab@gitlab.chumob.com:ph ...

  4. SQL中in参数在存储过程中传递及使用的方法

    背景: 1.使用存储过程 2.存储过程中有in 3.in括号里面的内容作为参数传递 解决方案: 1.直接拼接sql 可在存储过程中拼接字符串,然后执行此字符串,类似于js中的eval PROCEDUR ...

  5. [Python] 05 - Load data from Files

    文件读写 一.文件打开 传统方法 >>> f = open('data.txt', 'w') # Make a new file in output mode ('w' is wri ...

  6. POJ 1904 King&#39;s Quest(强连通)

    Language: Default King's Quest Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 7635   ...

  7. Docker的概念术语(2)

    Docker是什么? Docker是开发人员和系统管理员使用容器开发,部署和运行应用程序的平台.使用Linux容器部署应用程序称为容器化.Linux容器不是一个全新的概念,它们用于轻松部署应用程序. ...

  8. 四、K3 Cloud 开发插件《K3 Cloud事件、方法、函数》

    1.简单帐表/动态表单几个主要事件 //初始化 public override void Initialize() //构建动态列 public override BOS.Core.Report.Re ...

  9. 国内常用NTP服务器地址及

    210.72.145.44 (国家授时中心服务器IP地址) 133.100.11.8 日本 福冈大学 time-a.nist.gov 129.6.15.28 NIST, Gaithersburg, M ...

  10. MFC打开文件选择框和多选框,保存文件夹的选择,保存文件路径的选择

    CString defaultDir = "C:\\"; //默认打开的文件路径 CString fileName = ""; //默认打开的文件名 CStri ...