不知道大家有没有注意到,当你安装好MySQL数据库环境后,然后使用客户端连接后,会发现数据库列表不是空的,会有四个数据库(information_schema、mysql、sysperformance_schema...),你有有没有对这些数据库有些好奇呢,今天先给大家聊聊MySQL内置的information_schema 数据库相关的知识,希望对大家深入了解MySQL能够提供一些帮助!...一、information_schema简介information_schema 是 MySQL 数据库中内置的一个系统数据库,它的作用主要是存储关于整个MySQL实例当中数据库、数据表、列、索引、约束...主要MySQL版本中的information_schema区别MySQL 5.6版本总共有59张表,其中10张MyISAM引擎临时表(数据字典表),49张Memory引擎临时表(保存统计信息和一些临时信息...MySQL 8.0版本数据字典表(包含部分原memory引擎临时表)都迁移到了mysql数据库的schema架构下,且在mysql schema下这些数据字典表被隐藏,无法直接访问,需要通过information_schema
performanceschema 简介 performance_schema 是 MySQL 数据库中的一个内置的系统数据库,最早从MySQL5.5版本产生,这个数据库主要用于收集和存储与数据库性能相关的统计信息和指标...performanceschema 特点 performanceschema数据库是mysql5.5及后续的版本才会有,并且在MySQL5.7当中默认启用,可以在MySQL配置参数里面关闭,可以节约一部分性能的消耗...performanceschema表数据非持久化存储,而是保存在内存当中,MySQL服务重启,该数据库所有的表数据库也会被清空。...SCHEMA_NAME:执行语句的数据库模式名称。 COUNT_STAR:该语句执行的次数。 SUM_TIMER_WAIT:该语句执行的总等待时间(纳秒)。...它只会保留一定数量的最近执行语句的记录,默认保留 10 万个记录,可以通过配置参数 performance_schema_events_statements_history_size 来调整。
MySQL的Performance Schema是一套内存表,用于跟踪MySQL的性能指标。...它实际上使用PERFORMANCE_SCHEMA存储引擎,用户操作performance_schema数据库中的表。...收集哪些服务器度量指标 setup_objects :检测有哪些对象 setup_threads:检测有哪些线程分类 Performance Schema中存在大量的检测项目,检测项目对应MySQL服务器的源代码检测点...的简单介绍,完全掌握Performance Schema将对MySQL运维能力的提升有巨大帮助,感兴趣的读者请访问官网详细学习相关内容。...感谢关注MySQL解决方案工程师!
MySQL的Performance Schema是一个非常好的监视工具,但是里面包含过多的表和探测项,对于普通的用户来说过于复杂,想弄清楚每一项的监测内容很困难,因此,MySQL提供了一套sys Schema...sys Schema包含视图、存储过程和存储函数。视图中对Performance Schema的数据进行汇总,并使用易于理解的格式进行展现。...存储过程帮助DBA配置Performance Schema并生成诊断报告。存储函数用于查询Performance Schema的配置,并采用格式化的输出。 sys Schema的使用非常简单。...例如,DBA可以通过sys Schema查询哪个用户使用服务器的资源最多: MySQL localhost:3306 ssl SQL > use sys Default schema set to...的一个简明介绍,感谢关注“MySQL解决方案工程师”!
1 Schema概念 ? schema在数据库中表示的是数据库对象集合,它包含了各种对像,比如:表,视图,存储过程,索引等等。 一般一个用户对应一个集合,所以为区分不同集合就需给不同集合起名。...用户的schema名就相当于用户名,并作为该用户缺省schema。所以schema集合看上去像用户名。...例如当我们访问一个数据表时,若该表没有指明属于哪个schema,系统就会自动加上缺省的schema。 ?...2 Schema的创建 在不同的数据库中要创建的Schema方法是不一样的,但是它们有一个共同的特点就是都支持CREATE SCHEMA语句。...在MySQL数据库中,我们可以通过CREATE SCHEMA语句来创建一个数据库
在mysql5.5版本之后新增了performance_schema的数据库用于监视数据库性能,该数据库中表的引擎都是performance_schema。...PS数据库消耗很少的性能,官方文档介绍即使将PS中所有监控项开启也不会对mysql server性能造成太大影响。...这个表主要是用来排除对mysql、performance_schema、information_schema这三个数据库的监控,information_schema数据库的对象始终不监控,不管在setup_objects...3.2.1:作用 ①:降低负载,虽然开启performance schema对数据库性能影响并不是太大,但是毕竟是有额外的负载。...在高并发高负载的情况下对数据库性能有一定影响,但是影响有限,目前是只开启了performance_schema的默认consumer和instrument,由于不同指标项开启对数据库的影响不同,如果生产环境中开启某项新功能
1.max_connections List-1 大体意思是MySQL允许的最大连接 mysql> select * from global_variables where variable_name...--------------+----------------+ 1 row in set (0.00 sec) 2.max_user_connections List-2 大体意思是一个用户连接到数据库的最大连接数...,为0应该是表示不限制,设置这个变量的值可以防止一个用户用完所有数据库允许的最大连接。...mysql> select * from global_variables where variable_name like "max_user_connections"; +-------------...服务器,但是失败(如密码错误等等)100次,则MySQL会无条件强制阻止此客户端连接。
前言: MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库。...mysql> select * from memory_global_total; 5,数据库连接来自哪里,以及这些连接对数据库的请求情况是怎样的? 查看当前连接情况。...mysql> select conn_id, user, current_statement, last_statement from session; 7,数据库中哪些SQL被频繁执行?...mysql> select * from schema_redundant_indexes; mysql> select * from schema_unused_indexes; 18,查看事务等待情况...mysql> select * from innodb_lock_waits; 总结: 本文主要介绍sys库相关内容,其实sys库有很多有用的查询,可以帮助你轻松了解数据库的运行情况,原本需要查找performance_schema
如无特殊说明数据库版本为MySQL 5.7.26 COLLATIONS 该表提供每个字符集的排序规则信息 有如下栏位 COLLATION_NAME 排序规则的名称 CHARACTER_SET_NAME...ID IS_DEFAULT 该排序规则是不是字符集的默认设置 IS_COMPILED 字符集是否被编译到服务器 SORTLEN 排序长度 实际截图 SELECT * FROM INFORMATION_SCHEMA.COLLATIONS...; SELECT * FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME LIKE '%utf8%'; ?...参考链接 https://dev.mysql.com/doc/refman/5.7/en/collations-table.html
PROCESSLIST 该表提供数据库允许的线程的情况 除非用户有process权限,否则只能看到该用户所拥有的线程的信息 也可以通过mysqladmin processlist 命令来执行 他有如下栏位...ID 连接标识符,这个ID和show processlist 中ID是一样的,也和Performance Schema 中threads表的PROCESSLIST_ID 栏位是一样的,也和CONNECTION_ID...,如果未选择数据库,则为NULL COMMAND 线程执行的命令类型 TIME 线程在当前状态持续的时间,以秒为单位 STATE 线程当前的状态,如果该状态持续很久,说明有问题,如果是SHOW PROCESSLIST...实际截图 首先新建一个分区表 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST; ?...参考链接 https://dev.mysql.com/doc/refman/5.7/en/processlist-table.html
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....PLUGINS 该表提供服务器插件相关的信息 在mysql.plugin表中也有插件相关的信息 他有如下栏位 PLUGIN_NAME 插件的名称,即我们在使用INSTALL PLUGIN和UNINSTALL...插件的状态,有如下几种 ACTIVE, INACTIVE, DISABLED 或 DELETED PLUGIN_TYPE 插件的类型,有如下几种 STORAGE ENGINE, INFORMATION_SCHEMA...首先新建一个分区表 SELECT PLUGIN_NAME, PLUGIN_STATUS, PLUGIN_TYPE, PLUGIN_LIBRARY, PLUGIN_LICENSE FROM INFORMATION_SCHEMA.PLUGINS...参考链接 https://dev.mysql.com/doc/refman/5.7/en/plugins-table.html
这个专题主要讲information_schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....ENGINES 该表提供存储引擎相关的信息,主要用来确认数据库是否支持该存储引擎以及是否是默认的 该表不是标准的INFORMATION_SCHEMA表 有如下栏位 ENGINE 存储引擎的名称 SUPPORT...引擎是被支持的且被激活 DEFAULT 同YES,并且是默认的 NO 引擎不被支持 DISABLED 引擎是支持的,但被禁用了 NO 代表该存储引擎在编译时没有加上,所以无法被启用 DISABLED 可能有如下原因 数据库在启动时加上了禁用该存储引擎的选项...实际截图 SELECT * FROM INFORMATION_SCHEMA.ENGINES; ? 或者 SHOW ENGINES; ? 3....参考链接 https://dev.mysql.com/doc/refman/5.7/en/engines-table.html
图片MySQL 5.8 Performance Schema 配置详解MySQL 的 Performance Schema 是一个用于监控和优化数据库性能的子系统,专门用来收集 MySQL 服务器的运行情况和性能指标...它的核心原理是通过“生产者”和“消费者”的概念来采集和存储数据库中的事件信息,帮助开发者和数据库管理员分析并优化系统性能。...在大多数情况下,MySQL 默认配置的 Performance Schema 足以应对大部分场景。...或者登录 MySQL 实例后,使用以下命令检查:SHOW ENGINES;如果输出中显示 performance_schema,则说明 MySQL 支持这个功能。...总结MySQL 5.8 的 Performance Schema 是一个非常强大的工具,可以帮助开发者和管理员深入分析数据库的运行状态,并优化性能。
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....PARTITIONS 该表提供分区表相关的信息,每一行都关联一个独立的分区或者子分区 他主要有如下栏位 TABLE_SCHEMA 分区表所在的数据库名称 TABLE_NAME 分区表的名称 PARTITION_NAME...PARTITION BY HASH(c1 + c2) PARTITIONS 4; select * from PARTITIONS where TABLE_NAME='tp' and table_schema...参考链接 https://dev.mysql.com/doc/refman/5.7/en/partitions-table.html
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....routines 但是不包含内置的SQL函数或者用户自定义函数(UDFs),这里的UDF指的是用户使用C编写并编译的函数 他有如下栏位 SPECIFIC_CATALOG 始终为def SPECIFIC_SCHEMA...参数所在的routines 所在chema(数据库) SPECIFIC_NAME 参数所在的routines的名称 ORDINAL_POSITION 参数的位置,对于存储过程来说,其值为1 2 3 4...实际截图 该表没有对应的show命令 SELECT * FROM INFORMATION_SCHEMA.PARAMETERS\G ? 4....参考链接 https://dev.mysql.com/doc/refman/5.7/en/parameters-table.html
关于MySQL的性能监控和问题诊断,我们一般都从performance_schema中去获取想要的数据,在MySQL5.7.7版本中新增sys schema,它将performance_schema和information_schema...Sys schema视图使用场景 索引情况 1. 查询冗余索引 select * from schema_redundant_indexes; 2....where table_schema='dbname' ; 表相关 1....风险提示 通过sys库去查询时,MySQL会消耗大量资源去收集相关信息,严重的可能会导致业务请求被阻塞,从而引起故障。...建议生产上不要频繁的去查询sys或者performance_schema、information_schema来完成监控、巡检等工作。
从定义我们可以看出:schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。...如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有操作数据库中每个房间的权利,...就是说每个数据库映射的user有每个schema(房间)的钥匙。...在MySQL中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的。...,当我们用create user创建数据库用户时,我们可以用该用户指定一个已经存在的schema作为默认的schema,如果我们不指定,则该用户所默认的schema即为dbo schema,dbo房间(
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....EVENTS 该表提供有关event相关的信息,event在MySQL中为任务计划,即按照一定的频率执行一段SQL 相当于Oracle的JOB和Scheduler 该表不是标准的INFORMATION_SCHEMA...表 有如下栏位 EVENT_CATALOG 包含事件的所属的目录的名称,该值总是def EVENT_SCHEMA 时间所属的数据库名称 EVENT_NAME 时间名称 DEFINER 事件的创建者,以'...WHERE EVENT_NAME = 'e_daily' AND EVENT_SCHEMA = 'test'\G ?...参考链接 https://dev.mysql.com/doc/refman/5.7/en/events-table.html
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....FILES 该表提供存储MySQL表空间数据的文件的信息 它提供InnoDB数据文件的信息,如果是NDB,它提供了有关存储了NDB集群磁盘数据表的文件的信息。...TABLESPACE_NAME 表空间的SQL名称,对于独立表空间来说,innodb_file_per_table_##来命名,##为FILE_ID TABLE_CATALOG 该值始终为空 TABLE_SCHEMA...TOTAL_EXTENTS, EXTENT_SIZE, INITIAL_SIZE, MAXIMUM_SIZE, AUTOEXTEND_SIZE, DATA_FREE, STATUS FROM INFORMATION_SCHEMA.FILES...参考链接 https://dev.mysql.com/doc/refman/5.7/en/files-table.html
1、 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分; 本文主要介绍数据库设计中的一般原则和优化手段...,包括数据库的一半范式、反范式设计、数据切分、数据路由与合并等等 2、 Schema设计的一般性原则 2.1 概述 范式理论是关系型数据库设计的黄金法则,它提供了数据结构化的理论基础,有效地保证了数据的一致性...数据库的范式有很多种,但是我们一般常用的只有第一、二、三范式和BC范式,这些范式直接在我们的数据库schema设计中得到体现,虽然有时我们根本就没有意识到。...系统的上层做了进一步的封装,比如说权限验证、sql解析、二级索引等等; 3.4.2 MySQL数据库的层次结构 MySQL虽然是个开源数据库,体积也远小于DB2、Oracle这些商业数据库,但是一个...下边我们就来看下MySQL到底有怎样的层次结构; MySQL从上到下,可以分为三层,第一部分为客户端,中间部分为数据库管理系统(DBMS),最底层为存储引擎层;MySQL使用独立的存储引擎,可以方便切换
领取专属 10元无门槛券
手把手带您无忧上云