`

MySQL里默认的几个库是干啥的?

阅读更多

本文涉及:MySQL安装后自带的4个数据库:information_schema、
performance_schema、sys、mysql的作用及其中各个表所存储的数据含义

information_schema

information_schema是mysql自带的一个信息数据库,其保存着关于mysql服务器所维护的所有其他数据库的信息,如数据库名,数据库的表,表栏的数据类型与访问权限等
也就是说当你建立一个新的数据库,或者在已有的数据库中增删改表的话,都会记录在information_schema库中

相关表:

  • character_sets:存储数据库相关字符集信息(memory存储引擎)
  • collations:字符集对应的排序规则
  • collation_character_set_applicability:字符集和连线校对的对应关系
  • schema_privileges:提供了数据库的相关权限
  • table_privileges: 提供的是表权限相关信息
  • column_privileges :表授权的用户的权限
  • user_privileges:提供的是用户表权限相关信息
  • columns:存储所有表的所有字段信息
  • innodb_sys_columns :innodb的元数据
  • engines :引擎类型,是否支持这个引擎,描述,是否支持事物,是否支持分布式事务,是否能够支持事物的回滚点
  • events :记录mysql中的事件,类似于定时作业
  • files :这张表提供了有关在mysql的表空间中的数据存储的文件的信息,文件存储的位置
  • parameters :参数表存储了一些存储过程和方法的参数,以及存储过程的返回值信息
  • plugins :mysql的插件信息,是否是活动状态等信息
  • routines:关于存储过程和方法function的一些信息
  • schemata:这个表提供了实例下有多少个数据库,而且还有数据库默认的字符集
  • triggers :触发器的信息
  • views :视图的信息
  • referential_constraints:这个表提供的外键相关的信息
  • table_constraints :这个表提供的是 相关的约束信息
  • innodb_sys_foreign_cols :innodb关于外键的元数据信息
  • key_column_usage :数据库中所有有约束的列
  • global_status:系统状态
  • global_variables:系统变量
  • session_status:session状态
  • session_variables:session变量
  • partitions :mysql分区表相关的信息
  • processlist:当前线程列表
  • innodb_cmp_per_index,innodb_cmp_per_index_reset:关于压缩innodb信息表的时候的相关信息
  • innodb_cmpmem ,innodb_cmpmem_reset:innodb的压缩页的buffer pool信息
  • innodb_buffer_pool_stats :表提供有关innodb 的buffer pool相关信息
  • innodb_buffer_page_lru,innodb_buffer_page :维护了innodb lru list的相关信息
  • innodb_buffer_page :buffer里面缓冲的页数据
  • innodb_sys_datafiles :这张表就是记录的表的文件存储的位置和表空间的一个对应关系
  • innodb_temp_table_info :所有的innodb的所有用户使用到的信息
  • innodb_metrics :提供innodb的各种的性能指数
  • innodb_sys_virtual :表存储的是innodb表的虚拟列的信息
  • innodb_cmp,innodb_cmp_reset:存储的是关于压缩innodb信息表的时候的相关信息
  • tables:数据库中表的信息
  • tablespaces:活跃表空间
  • innodb_sys_tables:表格的格式和存储特性,包括行格式,压缩页面大小位级别的信息
  • statistics:关于表的索引信息
  • innodb_sys_indexes:innodb表的索引的相关信息
  • innodb_sys_tablestats:mysql数据库的统计信息
  • innodb_sys_fields :innodb的表索引字段信息,以及字段的排名
  • innodb_ft_config :这张表存的是全文索引的信息
  • innodb_ft_default_stopword:stopword 的信息
  • innodb_ft_index_cache :这张表存放的是插入前的记录信息,也是为了避免dml时候昂贵的索引重组
  • optimizer_trace :提供的是优化跟踪功能产生的信息
  • profiling:服务器执行语句的工作情况
  • innodb_ft_being_deleted:nnodb_ft_deleted的一个快照
  • innodb_locks: innodb现在获取的锁
  • innodb_lock_waits:系统锁等待相关信息,包含了阻塞的一行或者多行的记录,而且还有锁请求和被阻塞改请求的锁信息等
  • innodb_trx:包含了所有正在执行的的事物相关信息,而且包含了事物是否被阻塞或者请求锁

performance_schema

主要用于收集数据库服务器性能参数

相关表:

  • setup_actors:配置用户纬度的监控,默认监控所有用户
  • setup_consumers:配置events的消费者类型,即收集的events写入到哪些统计表中
  • setup_instruments:配置具体的instrument
  • setup_objects:配置监控对象,默认对mysql、performance_schema和information_schema中的表都不监控,而其它所有表都监控。
  • setup_timers:配置每种类型指令的统计时间单位
  • cond_instances:系统中使用的条件变量的对象
  • file_instances:系统中打开了文件的对象,包括ibdata文件,redo文件,binlog文件,用户的表文件等
  • mutex_instances:系统中使用互斥量对象的所有记录
  • rwlock_instances: 系统中使用读写锁对象的所有记录
  • socket_instances:活跃会话对象实例
  • events_waits_current:记录了当前线程等待的事件
  • events_waits_history:记录了每个线程最近等待的10个事件
  • events_waits_history_long:记录了最近所有线程产生的10000个事件
  • events_stages_current:记录了当前线程所处的执行阶段
  • events_stages_history:记录了当前线程所处的执行阶段10条历史记录
  • events_stages_history_long:记录了当前线程所处的执行阶段10000条历史记录
  • events_statements_current:最顶层的请求,SQL语句或是COMMAND
  • users:记录用户连接数信息
  • hosts:记录了主机连接数信息
  • accounts:记录了用户主机连接数信息
  • events_waits_summary_global_by_event_name:按等待事件类型聚合
  • events_waits_summary_by_instance:按等待事件对象聚合
  • events_waits_summary_by_thread_by_event_name:按每个线程和事件来统计
  • events_stages_summary_global_by_event_name:按事件阶段类型聚合
  • events_stages_summary_by_thread_by_event_name:按每个线程和事件来阶段统计
  • events_statements_summary_by_digest:按照事件的语句进行聚合
  • events_statements_summary_global_by_event_name:按照事件的语句进行聚合
  • events_statements_summary_by_thread_by_event_name:按照线程和事件的语句进行聚合
  • file_summary_by_instance:按事件类型统计(物理IO维度)
  • file_summary_by_event_name:具体文件统计(物理IO维度)
  • table_io_waits_summary_by_table:根据wait/io/table/sql/handler,聚合每个表的I/O操作(逻辑IO纬度)
  • table_io_waits_summary_by_index_usage:按索引维度统计
  • table_lock_waits_summary_by_table:聚合了表锁等待事件
  • socket_summary_by_instance:socket聚合统计表
  • performance_timers:系统支持的统计时间单位
  • threads:监视服务端的当前运行的线程

sys

Sys库是一个简单版的performance_schema

相关表:

  • sys_config:用于sys schema库的配置

相关视图(以_*结尾的代表多个表):

  • host_* : 以ip分组相关的统计信息
  • innodb_* : innodb buffer 相关信息
  • io_* : 数据内不同维度展的io相关的信息
  • memory_* : 以ip,连接,用户,分配的类型分组及总的占用显示内存的使用
  • metrics : db的内部的统计值
  • processlist : 线程相关的信息
  • ps_check_lost_instrumentation: 没有工具统计的一些变量
  • schema _*: 表结构相关的信息
  • session : 用户连接相关的信息
  • statement_analysis : 基于语句的统计信息
  • statements_*: 出错的语句,进行全表扫描、运行时间超长等
  • user_* : 和host_开头的相似,只是以用户分组统计
  • wait_*: 等待事件
  • waits_* : 以ip,用户分组统计出来的一些延迟事件

mysql

存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息

相关表:

  • user:用户表
  • db:存储了某个用户对一个数据库的权限
  • host:存储了某个主机对数据库的操作权限
  • tables_priv:可以对单个表进行权限设置
  • procs_priv:可以对存储过程和存储函数进行权限设置
  • columns_priv:可以对单个列进行权限设置
  • server_cost:CPU的代价模型
  • engine_cost:IO的代价模型
  • event:记录MySQL中的事件
  • func:记录MySQL中的自定义函数
  • general_log:所有的sql执行日志(一般不开启)
  • gtid_executed:二进制日志
  • help_category:关于帮助主题类别的信息
  • help_keyword:与帮助主题相关的关键字信息
  • help_relation:帮助关键字信息和主题信息之间的映射
  • help_topic:帮助主题的详细内容
  • innodb_index_stats: innodb中索引的统计数据
  • innodb_table_stats: innodb中表的统计数据
  • ndb_binlog_index:binlog相关信息
  • plugin:插件相关的表
  • proc:基础信息相关的表
  • proxies_priv:数据库用户权限表
  • servers:节点相关信息
  • slave_master_info、slave_relay_log_info、slave_worker_info:主从相关表
  • slow_log:慢日志记录表
  • tables_priv:表权限表
  • time_zone、time_zone_leap_second、time_zone_name、time_zone_transition、time_zone_transition_type:时间相关表

推荐阅读

  1. SpringCloud学习系列汇总
  2. 为什么一线大厂面试必问redis,有啥好问的?
  3. 多线程面试必备基础知识汇总
  4. Java集合源码分析汇总-JDK1.8
  5. Linux常用命令速查-汇总篇
  6. JVM系列文章汇总

博客所有文章首发于公众号《Java学习录》转载请保留
扫码关注公众号即可领取2000GJava学习资源

1

0
0
分享到:
评论

相关推荐

    mysql面试题,MySQL中有几种索引类型,可以简单说说吗?

    这是MySQL里默认和最常用的索引类型。 RTREE :RTREE在MySQL很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有MyISAM、BDb、InnoDb、NDb、Archive几种。相对于BTREE,RTREE的优势在于范围查找。

    MySQL从入门到高级,进阶详解

    -MySQL连接超出默认连接的8小时,除了重连还有其他办法吗? 如何在查询的时候不使用缓存? 缓存查询完后如何工作? -MySQL内部支持缓存查询吗? -MySQL8为何废弃掉查询缓存? -MySQL查询缓存的替代方案有哪些? MySQL内部...

    acl C++跨平台库.rar

    acl 库是啥、主要包含哪些功能? acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)...默认情况下,没有这些第三方库编译和使用 acl 库是没有问题的,只是不能使用 mysql/sqlite/ssl/protobuf 功能。

    Mysql的longblob字段插入数据问题解决

    在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...

    2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级).md

    这篇文章是一份非常详细的MySQL 8.0安装和配置教程,主要包括以下几个部分: 1. 卸载旧版本MySQL的方法介绍。 2. 从官网下载最新的MySQL 8.0安装包。 3. 分步骤图文并茂地展示了MySQL的安装过程,包括自定义安装组件...

    mysql数据库my.cnf配置文件

    在之前的几个版本中,清除操作是主线程的一部分,这意味着运行时它可能会堵塞其它的数据库操作。 # 从MySQL5.5.X版本开始,该操作运行于独立的线程中,并支持更多的并发数。用户可通过设置innodb_purge_threads配置...

    基于C#试题库管理系统(MySQL).zip

    MySQL内部包含几个特殊的系统数据库,如: information_schema:提供关于所有数据库、表、列、索引等元数据信息,是查询数据库结构的标准接口。 mysql:存储MySQL自身的系统信息,如用户权限、服务器配置、事件...

    MySQL5.7中的sql_mode默认值带来的坑及解决方法

    作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是MySQL升级到5.7版本之后,由于默认的 sql_mode 值带来的坑以及对应的解决方案。 案例一:ONLY_FULL_...

    mysql5.5.6安装教程及安装包.rar

    ​ MySQL安装及配置 以下是安装步骤: 1、首先单击MySQL的安装文件,出现该数据库的安装向导界面,单击“next”继续安装,如图所示: ...18、过了几分钟,出现如下的提示界面就代表MySQL配置已经结束

    MySQL 6 绿色精简BAT版 2.24 MB

    打开这个目录, 有以下的几个文件: <br> 文件 说明 [bin] MySQL 的二进制文件 [data] MySQL 数据库文件 [share] MySQL 英文资源文件 mysql_start.bat 启动 MySQL, 双击后如果没有错误的话可以...

    基于 nodejs express mysql 开发的留言板 demo.zip

    MySQL内部包含几个特殊的系统数据库,如: information_schema:提供关于所有数据库、表、列、索引等元数据信息,是查询数据库结构的标准接口。 mysql:存储MySQL自身的系统信息,如用户权限、服务器配置、事件...

    MySQL命令大全

     ()先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。  ()导入auction.sql文件  c:mysqlbin>mysql -u root -p auction 。  通过以上操作,就可以...

    MySQL8安装KBEngine-2.5.8指南_安装kbengine_boxul4_kbengine_kbengine安装_k

    KBEngine是一款开源的MMORPG游戏服务端,默认使用MySQL5.x数据库,现在MySQL已经更新到8.x版本,与KBEngine配套使用时有几个点是与5.x不同的,这篇文章是在Windows10系统下的PowerShell里配置MySQL8的命令截图,请...

    管理MySQL数据库系统.doc

    四、MySQL的几个重要目录 MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文 件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因 为 Linux本身的目录结构...

    MYSQL常用命令大全

     (2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。  (2)导入auction.sql文件  c:mysqlbin>mysql -u root -p auction 。  通过以上操作,就...

    mysql5.7.19安装包64位rpm格式

    上面几个包有依赖关系,执行有先后。 使用rpm安装方式安装mysql,安装的路径如下:(系统自动配置好了,不需要手动配置) a 数据库目录 /var/lib/mysql/ b 配置文件 /usr/share/mysql(mysql.server命令及配置文件) c...

    大数据 虚拟机 Linux VM复习题库:题库包括了60题选择题、10题填空题、10题判断题、2题简答题,助你度过期末复习

    大数据 虚拟机 Linux VM复习题库:...这种存储方式需要在本地运行一个 mysql 服务器。(1 分) (3)、远程模式:在服务器端启动一个 MetaStoreServer,客户端利用 Thrift 协议通过 MetaStoreServer 访问元数据库。(1 分)

    Windows 下 Nginx+PHP+MySQL 服务器环境安装配置包

    包含 Nginx+PHP+MySQL 安装包,还有 OpenSSL 安装包和几个实用 bat 小脚本,涵盖了从搭建 Nginx,自签署 SSL 证书,配置 HTTPS ,部署和配置 Windows PHP 服务器环境,连接 MySQL 的全部所需软件。Linux 可能是搭建...

    mysql 安装包

    # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\MySQL Server 5.7 # 设置mysql数据库的数据的存放目录 datadir=D:...

Global site tag (gtag.js) - Google Analytics