当前位置:首页 > 行业动态 > 正文

MySQL系统数据库,以_MySQL为源的探索与应用?

MySQL系统数据库为”_MySQL为源”。

MySQL 8.0中默认的系统数据库主要包括mysql、information_schema、performance_schema和sys,这些数据库在MySQL服务器运行时提供了关键的监控和管理功能,以下是对它们的详细解释:

MySQL系统数据库,以_MySQL为源的探索与应用?  第1张

mysql 系统数据库

类别 表名 描述
数据字典表 catalogs, character_sets, collations, columns, events, foreign_keys, indexes, parameters, tables, triggers 这些表构成了MySQL的数据字典,包含关于数据库对象的元数据,它们不能直接查询,但可以通过INFORMATION_SCHEMA视图进行访问。
授权系统表 user, db, tables_priv, columns_priv, procs_priv 存储用户账户及其权限信息,包括全局权限、数据库级权限、表级权限、列级权限以及存储例程权限等。
对象信息系统表 func, plugin 存放关于用户定义的方法和服务器插件的信息。
日志系统表 general_log, slow_log 用于记录通用查询日志和慢查询日志,通常建议设置为外部文件以减少性能和存储空间的使用。
时区系统表 time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type 存储时区相关信息,用于设置和获取时区。
复制相关系统表 gtid_executed, ndb_binlog_index, slave_master_info, slave_relay_log_info, slave_worker_info 支持复制功能的相关表,仅当MySQL作为从服务器时才会存储相关信息。
优化器系统表 innodb_index_stats, innodb_table_stats 供优化器使用,显示索引信息和表统计信息。
其他系统表 firewall_group_allowlist, innodb_dynamic_metadata 包括防火墙分组允许列表和自增计数器的值等杂项信息。

information_schema 数据库

作用:提供对数据库元数据、有关MySQL服务器的信息(如数据库或表的名称、列的数据类型或访问权限)的访问,它是一个只读数据库,包含几个实际上是视图的只读表。

MySQL系统数据库,以_MySQL为源的探索与应用?  第2张

特点:可以作为SHOW语句的替代方案,通过SELECT … FROM INFORMATION_SCHEMA语句以一种更一致的方式提供对MySQL支持的各种SHOW语句(如SHOW DATABASES、SHOW TABLES等)的信息访问。

performance_schema 数据库

MySQL系统数据库,以_MySQL为源的探索与应用?  第3张

作用:用于在低级别监视MySQL服务器执行,旨在提供对有关服务器执行的有用信息的访问,同时对服务器性能的影响最小,它提供了一种在运行时检查服务器内部执行的方法,并监视服务器事件。

特点:该数据库中的表是不使用持久磁盘存储的内存表,内容在服务器启动时重新填充,并在服务器关闭时丢弃。

sys 数据库

作用:通过视图的形式将INFORMATION_SCHEMA和PERFORMANCE_SCHEMA结合起来,帮助系统管理员和开发人员监控MySQL的技术性能,它可用于典型的调优和诊断用例。

特点:包括将PERFORMANCE_SCHEMA数据汇总为更易于理解的形式的视图(Views),以及执行诸如PERFORMANCE_SCHEMA配置和生成诊断报告等操作的存储过程(Stored procedures)和存储函数(Stored functions)。

这四个系统数据库在MySQL服务器的运行和管理中起着至关重要的作用,分别负责存储系统信息、提供元数据访问、监控服务器性能以及辅助管理和调优等功能。

0