MySQL自带库
我们在安装mysql8之后,会发现已经存在了一些数据库,那么这些库分别有什么含义呢?
- infomation_schema
这个库只用来做查询,通过SHOW语句来查询的数据库基本信息,可以使用SELECT ... FROM INFORMATION_SCHEMA替代。里面包含了一些表和视图,如下图所示:其中有大量以INNODB、COLUMNS开头的表,所以这里重点介绍几类表:
PROFILING:这个表提供了当前mysql正在执行语句的分析,相当于show profiles8ENGINES:提供了关于引擎的信息 ———— 当前版本是否支持、是否默认引擎以及引擎的特性(是否支持事务等待))COLUMNS:保存了所有库的全部表的字段信息 ———— 所在库和表、字段名是什么、数据类型、默认值、索引情况等INNODB_TABLES:提供了INNODB表的元数据信息
-
mysql
这个库主要包含了数据库字典(字符集、表、列、索引等相关信息)、权限设置(用户、表和字段的权限、代理 权限)、日志系统信息、时区等mysql自己需要使用的控制和管理信息(官方文档)。这些表主要被被分:数据字段表、用户权限表、时区表、系统日志表。官方文档
-
performance_schema
这个库保存了mysql运行时性能相关信息:函数调用、等待操作系统、SQL 语句执行阶段(例如解析或排序)、同步调用(例如互斥锁)文件、表 I/O、表锁等信息。performance_schema库中的数据不会持久磁盘到磁盘的,使用存储引擎PERFORMANCE_SCHEMA,只会在内存表中存在。官方文档 -
sys
这个库主要是方便使用人员对performance_schema库收集的性能信息进行查询。主要通过视图的方式来查询(只有唯一表:sys_config)。主要功能包括生成性能诊断报告、查询性能架构配置等等官方文档。注意只有高版本MySQL(版本 >= 5.6) 才会有该库,删除该库不影响使用。