MySQL学习记录 —— 이십삼 MySQL服务器文件系统(3)

2024-07-19 759阅读

文章目录

  • 1、数据字典
  • 2、系统表
    • 各种系统表

      Mysql Schema是⼀个系统库,表中存储了MySQL服务器运行时所需的信息。广义上,mysql schema包含存储MySQL程序基本数据的数据字典和用于其他操作目的的系统表。数据字典表和系统表位于数据目录下一个名为mysql.ibd 的表空间文件中,使用的是InnoDB存储引擎。

      自带的库:

      MySQL学习记录 —— 이십삼 MySQL服务器文件系统(3)

      主要理解mysql库。

      1、数据字典

      MySQL 的数据字典,用来存储有关数据库对象自身的信息,不可以随意修改,否则可能造成服务器无法运行。character_sets就是有关可用字符集的信息,还有一些常见的:

      MySQL学习记录 —— 이십삼 MySQL服务器文件系统(3)

      数据字典表只能在调试版本访问,发行版本访问不了。不过可以通过INFORMATION_SCHEMA命令来查看可以查看的某些内容,比如

      select * from INFORMATION_SCHEMA.CHARACTER_SETS;
      

      2、系统表

      系统表按功能大致可以分为以下几类:权限授予系统表、对象信息系统表、日志系统表、服务器端帮助系统表、时区系统表、复制系统表、优化器系统表、杂项系统表。

      mysql库中的user表主要是关于用户的授权。两个查询的SQL语句:

      desc user;
      select * from user\G;
      

      各种系统表

      权限授予系统表

      包含有关用户账户及账户拥有的权限授权信息,主要的表有:

      • user :用户账户、全局权限和其他列。

      • global_grants :为用户分配的动态全局权限。

      • db :数据库级权限。

      • tables_priv :表级权限。

      • columns_priv : 列级权限。

      • procs_priv : 存储过程和函数权限。

      • proxies_priv : 代理用户权限。

      • default_roles :列出了用户连接和认证后要激活的默认角色。

      • role_edges : user 表的关联表,区分 user 表中某⼀行记录是账户还是角色。

      • password_history :密码更改的信息。

      对象信息系统表

      包含有关组件、可加载的服务器插件和函数的信息:

      component :使用 INSTALL COMPONENT 安装的服务器组件,表中列出了在服务器启动期间安装的组件。

      func : 使用 CREATE FUNCTION 安装的可加载函数,表中列出了在服务器启动期间加载的函数。

      plugin :使用 INSTALL PLUGIN 安装的服务器插件,表中列出了在服务器启动期间安装的插件。

      日志系统表

      服务器使用日志系统表进行日志记录:

      • general_log :一般查询日志表。

      • slow_log :慢查询日志表。

      ⽇志表使用 CSV 存储引擎。

      服务器端帮助系统表

      包含服务器端帮助信息:

      • help_category :有关帮助类别的信息。

      • help_keyword :与帮助主题关联的关键字。

      • help_relation :帮助关键字和主题之间的映射。

      • help_topic :帮助主题内容。

      时区系统表

      包含时区信息:

      • time_zone :时区 ID 以及是否使用闰秒。

      • time_zone_leap_second :发生闰秒时如何修正。

      • time_zone_name : 时区 ID 和名称之间的映射。

      • time_zone_transition,time_zone_transition_type : 时区说明及偏移量。

      复制系统表

      服务器使用以下系统表来支持复制

      • gtid_executed :用于存储 GTID 的值。

      • ndb_binlog_index :用于NDB Cluster 复制的二进制日志信息。只有在支持 NDB CLUSTER 的服务器才会创建此表,我们的课程不讨论NDB 的相关内容

      • slave_master_info,slave_relay_log_info,slave_worker_info : 用于存储从节点服务器上的复制信息。

      以上几张表都使用 InnoDB 存储引擎。

      优化器系统表

      这些系统表供优化器使用:

      • innodb_index_stats,innodb_table_stats : 用于 InnoDB 的持久优化器统计信息。

      • server_cost,engine_cost :优化器成本模型使用的表,包含查询期间发生的操作成本估算信息。server_cost 包含服务器操作的优化器成本估算。 engine_cost 包含对特定存储引擎操作的估计。

      杂项系统表

      • audit_log_filter,audit_log_user : 如果安装了 MySQL Enterprise Audit,存储审计日志过滤器定义和用户账户。

      • firewall_group_allowlist,firewall_groups,firewall_memebership,firewall_users,firewall_whitelist :如果安装了 MySQL Enterprise Firewall,这些存储表防火墙的使用信息。

      • servers :由 FEDERATED 存储引擎使用。

      • innodb_dynamic_metadata :由 InnoDB 存储引擎用来存储快速变化的表元数据,例如自动递增计数器值和索引树损坏标志。

      结束。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]