不知道大家有没有注意到,当你安装好MySQL数据库环境后,然后使用客户端连接后,会发现数据库列表不是空的,会有四个数据库(information_schema、mysql、sysperformance_schema...),你有有没有对这些数据库有些好奇呢,今天先给大家聊聊MySQL内置的information_schema 数据库相关的知识,希望对大家深入了解MySQL能够提供一些帮助!...一、information_schema简介information_schema 是 MySQL 数据库中内置的一个系统数据库,它的作用主要是存储关于整个MySQL实例当中数据库、数据表、列、索引、约束...注意:information_schema 中的数据是只读的,不允许对其进行修改。 它会随着数据库的变化根据变化,比如你新建一个数据表,对应存储数据表的记录也会发生变化。...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数据库中的表。...通常情况下,DBA对一个可以重复再现的问题利用Performance Schema进行分析。...的简单介绍,完全掌握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解决方案工程师”!
学习笔记:一个MySQL实例有多个Activiti数据库问题 使用SpringBoot + activiti6 搭建审批流项目,数据库使用的是MySQL.且我的数据库下存在多个activiti相关的数据库...schema....=true 因为我的数据库下已经存在了一个activiti7的数据库,所以我这次又新建了一个activiti6的数据库,然后在启动的时候没有自动创建表,而是直接进行了activiti 表的查询,并报了如下的错误...= 'mysql' OR TABLE_SCHEMA = 'performance_schema' THEN 'SYSTEM TABLE' ELSE 'TABLE' END WHEN TABLE_TYPE..., TABLE_NAME 根据这个sql执行的结果可以看到我的数据库中是存在数据的 学习笔记:一个MySQL实例有多个Activiti数据库问题 然后就可开始看为什么catalog为null呢,然后就继续看
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...条件同步锁: 一个或者多个进程/线程在等待一个特定条件的发生才能继续运行。因此该指标查看的是该锁的出现时间结束时间以及总等待时间。...rwlock: 读写同步锁,读写锁也是用来“保护”某些资源的,有读锁的进程可以是一个或者多个,但是对某资源写的锁只能被一个进程/线程拥有。其他进程/线程将会等待该锁的释放。
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 innodb_lock_waits; 总结: 本文主要介绍sys库相关内容,其实sys库有很多有用的查询,可以帮助你轻松了解数据库的运行情况,原本需要查找performance_schema...中多个表才能获得的数据,现在查询一个视图即可满足。
这个专题主要讲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
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
如无特殊说明数据库版本为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
这个专题主要讲information_schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....ENGINES 该表提供存储引擎相关的信息,主要用来确认数据库是否支持该存储引擎以及是否是默认的 该表不是标准的INFORMATION_SCHEMA表 有如下栏位 ENGINE 存储引擎的名称 SUPPORT...存储引擎的支持级别,后面做介绍 COMMENT 对于该存储引擎的一个简介 TRANSACTIONS 该存储引擎是否支持事务 XA 该存储引擎是否支持分布式事务 SAVEPOINTS 该存储引擎是否支持保存点...实际截图 SELECT * FROM INFORMATION_SCHEMA.ENGINES; ? 或者 SHOW ENGINES; ? 3....参考链接 https://dev.mysql.com/doc/refman/5.7/en/engines-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来完成监控、巡检等工作。
这个专题主要讲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 事件的创建者,以'...实际截图 首先我们在test数据库新建一个event并启用他 DELIMITER | CREATE EVENT e_daily ON SCHEDULE EVERY 1 DAY...参考链接 https://dev.mysql.com/doc/refman/5.7/en/events-table.html
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....FILES 该表提供存储MySQL表空间数据的文件的信息 它提供InnoDB数据文件的信息,如果是NDB,它提供了有关存储了NDB集群磁盘数据表的文件的信息。...对于开启了innodb_file_per_table参数,则每个表对应一个表空间,即一个数据文件 此时系统表空间可以有多个数据文件 有如下栏位 下面的介绍只是对于InnoDB引擎的描述,对于NDB,请参看最后的链接...TABLESPACE_NAME 表空间的SQL名称,对于独立表空间来说,innodb_file_per_table_##来命名,##为FILE_ID TABLE_CATALOG 该值始终为空 TABLE_SCHEMA...参考链接 https://dev.mysql.com/doc/refman/5.7/en/files-table.html
这个专题主要讲information_ schema数据库下的一些表 如无特殊说明数据库版本为MySQL 5.7.26 1....PARTITIONS 该表提供分区表相关的信息,每一行都关联一个独立的分区或者子分区 他主要有如下栏位 TABLE_SCHEMA 分区表所在的数据库名称 TABLE_NAME 分区表的名称 PARTITION_NAME...实际截图 该表没有对应的show命令 首先新建一个分区表 CREATE TABLE tp ( c1 INT, c2 INT, c3 VARCHAR(25) ) PARTITION BY HASH(c1...+ c2) PARTITIONS 4; select * from PARTITIONS where TABLE_NAME='tp' and table_schema='test' \G 共四行 ?...参考链接 https://dev.mysql.com/doc/refman/5.7/en/partitions-table.html
如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有操作数据库中每个房间的权利,...就是说每个数据库映射的user有每个schema(房间)的钥匙。...在MySQL中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的。...,当我们用create user创建数据库用户时,我们可以用该用户指定一个已经存在的schema作为默认的schema,如果我们不指定,则该用户所默认的schema即为dbo schema,dbo房间(...在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。
1、 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分; 本文主要介绍数据库设计中的一般原则和优化手段...数据库的范式有很多种,但是我们一般常用的只有第一、二、三范式和BC范式,这些范式直接在我们的数据库schema设计中得到体现,虽然有时我们根本就没有意识到。...3.2 去关联化 Join是我们在数据库操作时经常会使用的一个关键字,其作用就是将两张表拼接起来,然后过滤出符合条件的记录;但是在拼接的过程当中,是采用的是笛卡尔积的方式,其原理图如下: 在MySQL中...系统的上层做了进一步的封装,比如说权限验证、sql解析、二级索引等等; 3.4.2 MySQL数据库的层次结构 MySQL虽然是个开源数据库,体积也远小于DB2、Oracle这些商业数据库,但是一个...下边我们就来看下MySQL到底有怎样的层次结构; MySQL从上到下,可以分为三层,第一部分为客户端,中间部分为数据库管理系统(DBMS),最底层为存储引擎层;MySQL使用独立的存储引擎,可以方便切换
领取专属 10元无门槛券
手把手带您无忧上云