文章目录
mysql 系统数据库
数据字典表
权限信息表
对象信息表
查询日志表
服务器端帮助信息表
时区信息表
复制信息表
优化器系统表
其他系统表
information_schema 信息数据库
performance_schema 性能数据库
sys 数据库
总结
今天给大家介绍一下 MySQL 8.0 中默认安装的几个系统数据库/模式。
当我们安装 MySQL 8.0 并初始化数据库之后,默认会创建以下系统数据库:
mysql,存储了 MySQL 服务器正常运行所需的各种信息。
information_schema,提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等。
performance_schema,为 MySQL 服务器的运行时状态提供了一个底层的监控功能。
sys,包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图。
使用SHOW DATABASES或者SHOW SCHEMAS命令查看所有的数据库/模式:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql 系统数据库
mysql 数据库存储了 MySQL 服务器正常运行所需的各种系统信息,包含了关于数据库对象元数据(metadata)的数据字典表和系统表。
从 MySQL 8.0 开始,mysql 系统表和数据字典表使用 InnoDB 存储引擎,存储在 MySQL 数据目录下的 mysql.ibd 表空间文件中。在 MySQL 5.7 之前,这些系统表使用 MyISAM 存储引擎,存储在 mysql 数据库文件目录下各自的表空间文件中。
为了便于理解和使用,mysql 系统数据库中的表可以分为多种类别,下面我们分别进行介绍。
数据字典表
这些表构成了 MySQL 的数据字典,也就是关于数据库对象的元数据。数据字典表对于用户而言是不可见的,不能使用 SELECT 进行查询,也不会出现在 SHOW TABLES 或者 INFORMATION_SCHEMA.TABLES 表中。不过,大多数表可以通过 INFORMATION_SCHEMA 数据库中相应的视图进行查询。
例如,我们不能直接查询 mysql.tables 表:
mysql> select * from mysql.tables;
ERROR 3554 (HY000): Access to data dictionary table 'mysql.tables' is rejected.
不过,可以通过 INFORMATION_SCHEMA.TABLES 查询数据库中的表:
mysql> select * from information_schema.tables;
具体来说,MySQL 8.0 包括以下数据字典表:
catalogs:系统目录(Catalog)信息。
character_sets:系统支持的字符集。
check_constraints:CHECK 约束信息。
collations:字符集支持的排序规则。
column_statistics:字段的直方图统计信息。
column_type_elements:字段的数据类型信息。
columns:表中的字段信息。
dd_properties:存储数据字典的属性,例如版本。服务器利用这些信息决定是否需要升级数据字典。
events:事件调度器中的事件信息。
foreign_keys、foreign_key_column_usage:外键相关的信息。
index_column_usage:索引字段信息。
mysql原本的数据库 mysql数据库默认有哪些库
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章