MySQL自带的四个系统数据库

MySQL系统数据库mysql、information_schema、performance_schema、sys的结构和作用。

MySQL四个自带的数据库为mysql、information_schema、performance_schema、sys。

mysql

https://dev.mysql.com/doc/refman/8.0/en/system-schema.html

  • 它包含存储MySQL服务器运行时所需信息的表。广义的分类是,mysql数据库包含存储数据库对象元数据的数据字典表,以及用于其他操作目的的系统表。具体包括:
  • 数据字典表(Data Dictionary Tables):包括character_sets、collations、columns、events、foreign_keys、indexes、parameters、tables、triggers等。这些表包含数据字典,其中包含有关数据库对象的元数据。数据字典表是不可见的。它们不能用SELECT读取,不在SHOW TABLES的输出中出现,不在INFORMATION_SCHEMA.TABLES表中列出。但在大多数情况下,可以查询对应的information_schema表。从概念上讲,information_schema提供了一个视图,MySQL通过该视图公开数据字典元数据。
  • 授权系统表(Grant System Tables):包括user、db、tables_priv、columns_priv、procs_priv等。其中包含有关用户帐户及其所拥有权限的信息。
  • 对象信息系统表(Object Information System Tables):包含组件、可加载函数和服务器端插件的信息。
  • 日志系统表(Log System Tables):包括通用查询日志表(general_log)和慢查询日志表(slow_log)。
  • 服务器端帮助系统表(Server-Side Help System Tables):这些系统表包含服务器端帮助信息。
  • 时区系统表(Time Zone System Tables):这些系统表包含时区信息。
  • 复制系统表(Replication System Tables):包括ndb_binlog_index、slave_master_info、slave_relay_log_info、slave_worker_info等。服务器使用这些系统表来支持复制。
  • 优化器系统表(Optimizer System Tables):包括innodb_index_stats、innodb_table_stats、server_cost、engine_cost。这些系统表供优化器使用。
  • 杂项系统表(Miscellaneous System Tables):包括firewall_group_allowlist、innodb_dynamic_metadata等。其中记录了自增计数器的值。

information_schema

https://dev.mysql.com/doc/refman/8.0/en/information-schema.html

  • information_schema提供对数据库元数据、有关MySQL服务器的信息(例如数据库或表的名称、列的数据类型或访问权限)的访问。有时用于此信息的其他术语是数据字典和系统目录。
  • information_schema数据库包含几个只读表。它们实际上是视图,而不是基表。例如视图TABLES等。
  • information_schema可作为SHOW语句的替代方案。 SELECT ... FROM INFORMATION_SCHEMA语句旨在作为一种更一致的方式来提供对MySQL支持的各种SHOW语句( SHOW DATABASESSHOW TABLES等)提供的信息的访问。

performance_schema

https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html

  • 用于在低级别监视MySQL服务器执行(旨在提供对有关服务器执行的有用信息的访问,同时对服务器性能的影响最小)。
  • 提供了一种在运行时检查服务器内部执行的方法。
  • 监视服务器事件。
  • performance_schema中的表是不使用持久磁盘存储的内存表。内容在服务器启动时重新填充,并在服务器关闭时丢弃。

sys

https://dev.mysql.com/doc/refman/8.0/en/sys-schema.html

  • 这个数据库主要是通过视图的形式把information_schema和performance_schema结合起来,帮助系统管理员和开发人员监控MySQL的技术性能。
  • 可用于典型的调优和诊断用例。此架数据库中的对象包括:
  • 将performance_schema数据汇总为更易于理解的形式的视图(Views)。
  • 执行诸如performance_schema配置和生成诊断报告等操作的存储过程(Stored procedures)。
  • 查询performance_schema配置并提供格式化服务的存储函数(Stored functions)。

参考资料:

  • MySQL – 尚硅谷 – 宋红康
  • MySQL官方文档

Original: https://www.cnblogs.com/herecwh/p/16242950.html
Author: 玮浩同学
Title: MySQL自带的四个系统数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599266/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球